[2024-07-11 10:02:37] local.ERROR: View [auth.login] not found. {"exception":"[object] (InvalidArgumentException(code: 0): View [auth.login] not found. at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php:137)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php(79): Illuminate\\View\\FileViewFinder->findInPaths('auth.login', Array)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Factory.php(137): Illuminate\\View\\FileViewFinder->find('auth.login')
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(1020): Illuminate\\View\\Factory->make('auth.login', Array, Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AuthController.php(71): view('auth.login')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AuthController->showLoginForm()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('showLoginForm', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AuthController), 'showLoginForm')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#48 {main}
"} 
[2024-07-11 10:03:19] local.ERROR: View [auth.login] not found. {"exception":"[object] (InvalidArgumentException(code: 0): View [auth.login] not found. at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php:137)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php(79): Illuminate\\View\\FileViewFinder->findInPaths('auth.login', Array)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Factory.php(137): Illuminate\\View\\FileViewFinder->find('auth.login')
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(1020): Illuminate\\View\\Factory->make('auth.login', Array, Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AuthController.php(71): view('auth.login')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AuthController->showLoginForm()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('showLoginForm', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AuthController), 'showLoginForm')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#48 {main}
"} 
[2024-07-11 10:07:06] local.ERROR: View [auth.login] not found. {"exception":"[object] (InvalidArgumentException(code: 0): View [auth.login] not found. at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php:137)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php(79): Illuminate\\View\\FileViewFinder->findInPaths('auth.login', Array)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Factory.php(137): Illuminate\\View\\FileViewFinder->find('auth.login')
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(1020): Illuminate\\View\\Factory->make('auth.login', Array, Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AuthController.php(71): view('auth.login')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AuthController->showLoginForm()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('showLoginForm', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AuthController), 'showLoginForm')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#48 {main}
"} 
[2024-07-11 10:08:11] local.ERROR: View [auth.login] not found. {"exception":"[object] (InvalidArgumentException(code: 0): View [auth.login] not found. at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php:137)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php(79): Illuminate\\View\\FileViewFinder->findInPaths('auth.login', Array)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Factory.php(137): Illuminate\\View\\FileViewFinder->find('auth.login')
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(1020): Illuminate\\View\\Factory->make('auth.login', Array, Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AuthController.php(71): view('auth.login')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AuthController->showLoginForm()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('showLoginForm', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AuthController), 'showLoginForm')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#48 {main}
"} 
[2024-07-11 10:08:26] local.ERROR: View [auth.login] not found. {"exception":"[object] (InvalidArgumentException(code: 0): View [auth.login] not found. at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php:137)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php(79): Illuminate\\View\\FileViewFinder->findInPaths('auth.login', Array)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Factory.php(137): Illuminate\\View\\FileViewFinder->find('auth.login')
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(1020): Illuminate\\View\\Factory->make('auth.login', Array, Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AuthController.php(71): view('auth.login')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AuthController->showLoginForm()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('showLoginForm', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AuthController), 'showLoginForm')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#48 {main}
"} 
[2024-07-13 12:50:07] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-15 01:11:32] local.ERROR: Not enough data available to satisfy format {"userId":40,"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-15 01:23:45] local.ERROR: Not enough data available to satisfy format {"userId":40,"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-15 05:08:57] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-15 05:10:08] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:76)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 76)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(76): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 76)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-15 12:26:46] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-16 03:14:22] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-16 06:29:10] local.ERROR: Not enough data available to satisfy format {"userId":2,"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-16 06:29:23] local.ERROR: Not enough data available to satisfy format {"userId":2,"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-16 06:29:33] local.ERROR: Not enough data available to satisfy format {"userId":2,"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-16 06:51:15] local.ERROR: Not enough data available to satisfy format {"userId":2,"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-16 06:54:34] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-16 06:55:19] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-16 07:01:52] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-16 08:05:22] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-16 08:06:09] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(70): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-16 08:06:29] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:76)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 76)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(76): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 76)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-16 09:43:12] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:76)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 76)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(76): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 76)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-19 05:18:18] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(71): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-19 05:19:19] local.ERROR: Attempt to read property "workout" on null (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout.blade.php) {"userId":4,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Attempt to read property \"workout\" on null (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php:44)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Attempt to read property \"workout\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php:44)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 44)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php(44): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 44)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#53 {main}
"} 
[2024-07-19 07:38:42] local.ERROR: SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`vpbifrostjplms_vpbifrost`.`client_managements`, CONSTRAINT `client_managements_workout_foreign` FOREIGN KEY (`workout`) REFERENCES `workout_libraries` (`id`)) (Connection: mysql, SQL: delete from `workout_libraries` where `id` = 2) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`vpbifrostjplms_vpbifrost`.`client_managements`, CONSTRAINT `client_managements_workout_foreign` FOREIGN KEY (`workout`) REFERENCES `workout_libraries` (`id`)) (Connection: mysql, SQL: delete from `workout_libraries` where `id` = 2) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('delete from `wo...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('delete from `wo...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(564): Illuminate\\Database\\Connection->affectingStatement('delete from `wo...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3754): Illuminate\\Database\\Connection->delete('delete from `wo...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1273): Illuminate\\Database\\Query\\Builder->delete()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1462): Illuminate\\Database\\Eloquent\\Builder->delete()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1407): Illuminate\\Database\\Eloquent\\Model->performDeleteOnModel()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutLibraryController.php(101): Illuminate\\Database\\Eloquent\\Model->delete()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutLibraryController->delete('2')
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('delete', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutLibraryController), 'delete')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`vpbifrostjplms_vpbifrost`.`client_managements`, CONSTRAINT `client_managements_workout_foreign` FOREIGN KEY (`workout`) REFERENCES `workout_libraries` (`id`)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:612)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(612): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('delete from `wo...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('delete from `wo...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('delete from `wo...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(564): Illuminate\\Database\\Connection->affectingStatement('delete from `wo...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3754): Illuminate\\Database\\Connection->delete('delete from `wo...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1273): Illuminate\\Database\\Query\\Builder->delete()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1462): Illuminate\\Database\\Eloquent\\Builder->delete()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1407): Illuminate\\Database\\Eloquent\\Model->performDeleteOnModel()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutLibraryController.php(101): Illuminate\\Database\\Eloquent\\Model->delete()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutLibraryController->delete('2')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('delete', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutLibraryController), 'delete')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2024-07-23 09:30:19] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(115): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->workout()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('workout', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'workout')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-31 03:35:30] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(115): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->workout()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('workout', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'workout')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-07-31 03:35:42] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(115): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->workout()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('workout', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'workout')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-08-01 03:28:08] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 03:28:08] local.INFO: Strength records fetched: 0  
[2024-08-01 03:28:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"1":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"3":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"5":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"8":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2024-08-01 04:17:31] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 04:17:31] local.INFO: Strength records fetched: 0  
[2024-08-01 04:17:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"1":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"3":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"5":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"8":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2024-08-01 04:19:31] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 04:19:31] local.INFO: Strength records fetched: 0  
[2024-08-01 04:19:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"1":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"3":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"5":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"8":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2024-08-01 04:20:25] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 04:20:25] local.INFO: Strength records fetched: 0  
[2024-08-01 04:20:25] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"1":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"3":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"5":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"8":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2024-08-01 04:22:09] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 04:22:09] local.INFO: Strength records fetched: 0  
[2024-08-01 04:22:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"1":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"3":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"5":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"8":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2024-08-01 04:22:22] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 04:22:22] local.INFO: Strength records fetched: 0  
[2024-08-01 04:22:22] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"1":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"3":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"5":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"8":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2024-08-01 04:23:38] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 04:23:38] local.INFO: Strength records fetched: 0  
[2024-08-01 04:23:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"1":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"3":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"5":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"8":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2024-08-01 04:23:59] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 04:23:59] local.INFO: Strength records fetched: 0  
[2024-08-01 04:23:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"1":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"3":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"5":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"8":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2024-08-01 04:26:09] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 04:26:09] local.INFO: Strength records fetched: 0  
[2024-08-01 04:26:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"1":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"3":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"5":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"8":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2024-08-01 05:12:02] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 05:12:02] local.INFO: Strength records fetched: 0  
[2024-08-01 05:12:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}]}} 
[2024-08-01 05:19:31] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 05:19:31] local.INFO: Strength records fetched: 0  
[2024-08-01 05:19:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}]}} 
[2024-08-01 05:43:58] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 05:43:58] local.INFO: Strength records fetched: 0  
[2024-08-01 05:43:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}]}} 
[2024-08-01 05:49:46] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 05:49:46] local.INFO: Strength records fetched: 0  
[2024-08-01 05:49:46] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}]}} 
[2024-08-01 05:51:16] local.INFO: Received request data: {"_token":"fHgbkvWd3hYTB9QZ0jWBgeOakLqUTILLPOFkR4zJ","selectdates":"01/08/24 Thursday","selecttabs":"strength","categorys_1":"5","workouts_1":"7","weigths_1":"10","sets_1":"3","reps_1":"2","sets_12":"3","reps_12":"3","rests_1":"04:00","intensitys_1":"low","alt-categorys_1":"5","alt-workouts_1":"7","alt-weigths_1":"20","alt-sets_1":"4","alt-reps_1":"2","alt-sets_12":"5","alt-reps_12":"2","alt-rests_1":"04:00","alt-intensitys_1":"medium","categorys_2":"2","workouts_2":"2","weigths_2":"15","sets_2":"3","reps_2":"2","rests_2":"04:00","intensitys_2":"high","alt-categorys_2":"2","alt-workouts_2":"2","alt-weigths_2":"25","alt-sets_2":"2","alt-reps_2":"2","alt-rests_2":"04:00","alt-intensitys_2":"high"} 
[2024-08-01 05:51:39] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 05:51:39] local.INFO: Strength records fetched: 2  
[2024-08-01 05:51:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":6,"category_id":5,"category_name":"Hinge","workout_id":7,"workout_type":"Deadlift","weight":10.0,"rest":"04:00","intensity":"low","alt_category_id":5,"alt_category_name":"Hinge","alt_workout_id":7,"alt_workout_type":"Deadlift","alt_weight":20.0,"alt_rest":"04:00","alt_intensity":"medium","date":"01/08/24 Thursday","sets":[{"id":18,"sets":3,"reps":2,"alt_sets":4,"alt_reps":2,"strength_id":6,"created_at":"2024-08-01T05:51:16.000000Z","updated_at":"2024-08-01T05:51:16.000000Z"},{"id":19,"sets":3,"reps":3,"alt_sets":5,"alt_reps":2,"strength_id":6,"created_at":"2024-08-01T05:51:16.000000Z","updated_at":"2024-08-01T05:51:16.000000Z"}]},{"id":7,"category_id":2,"category_name":"Veritcal press","workout_id":2,"workout_type":"Strict press","weight":15.0,"rest":"04:00","intensity":"high","alt_category_id":2,"alt_category_name":"Veritcal press","alt_workout_id":2,"alt_workout_type":"Strict press","alt_weight":25.0,"alt_rest":"04:00","alt_intensity":"high","date":"01/08/24 Thursday","sets":[{"id":20,"sets":3,"reps":2,"alt_sets":2,"alt_reps":2,"strength_id":7,"created_at":"2024-08-01T05:51:16.000000Z","updated_at":"2024-08-01T05:51:16.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}]}} 
[2024-08-01 06:50:44] local.INFO: Received date: 01/08/24 Thursday  
[2024-08-01 06:50:44] local.INFO: Strength records fetched: 2  
[2024-08-01 06:50:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":1,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","weight":10.0,"rest":"04:00","intensity":"low","alt_category_id":4,"alt_category_name":"Squat","alt_workout_id":17,"alt_workout_type":"Back squat","alt_weight":20.0,"alt_rest":"04:00","alt_intensity":"medium","date":"01/08/24 Thursday","sets":[{"id":1,"sets":2,"reps":2,"alt_sets":3,"alt_reps":2,"strength_id":1,"created_at":"2024-08-01T11:09:34.000000Z","updated_at":"2024-08-01T11:09:34.000000Z"},{"id":2,"sets":4,"reps":5,"alt_sets":3,"alt_reps":6,"strength_id":1,"created_at":"2024-08-01T11:09:34.000000Z","updated_at":"2024-08-01T11:09:34.000000Z"}]},{"id":2,"category_id":3,"category_name":"Vetical pull","workout_id":16,"workout_type":"Pull up","weight":15.0,"rest":"04:00","intensity":"medium","alt_category_id":3,"alt_category_name":"Vetical pull","alt_workout_id":16,"alt_workout_type":"Pull up","alt_weight":25.0,"alt_rest":"04:00","alt_intensity":"medium","date":"01/08/24 Thursday","sets":[{"id":3,"sets":5,"reps":4,"alt_sets":2,"alt_reps":3,"strength_id":2,"created_at":"2024-08-01T11:09:34.000000Z","updated_at":"2024-08-01T11:09:34.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-02 00:11:36] local.INFO: Received date: 02/08/24 Friday  
[2024-08-02 00:11:36] local.INFO: Strength records fetched: 0  
[2024-08-02 00:11:36] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-06 06:01:04] local.INFO: Image paths before update:   
[2024-08-06 06:01:04] local.ERROR: Error updating profile: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'firstname' in 'field list' (Connection: mysql, SQL: update `members` set `dob` = 1986-06-27 00:00:00, `firstname` = James, `lastname` = Lukins, `members`.`updated_at` = 2024-08-06 06:01:04 where `id` = 1)  
[2024-08-06 06:02:21] local.INFO: Members Data: [{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}] 
[2024-08-06 06:02:37] local.INFO: Received date: 06/08/24 Tuesday  
[2024-08-06 06:02:37] local.INFO: Strength records fetched: 0  
[2024-08-06 06:02:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-06 06:02:48] local.INFO: Received date: 06/08/24 Tuesday  
[2024-08-06 06:02:48] local.INFO: Strength records fetched: 0  
[2024-08-06 06:02:48] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-06 06:02:51] local.INFO: Received date: 06/08/24 Tuesday  
[2024-08-06 06:02:51] local.INFO: Test records fetched: 0  
[2024-08-06 06:02:51] local.INFO: Test records fetched: []  
[2024-08-06 06:02:51] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-13 06:30:08] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-08-13 06:30:35] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-08-13 06:36:00] local.INFO: Members Data: [{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}] 
[2024-08-13 06:36:02] local.INFO: Received date: 13/08/24 Tuesday  
[2024-08-13 06:36:02] local.INFO: Strength records fetched: 0  
[2024-08-13 06:36:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-13 06:36:41] local.INFO: Members Data: [{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}] 
[2024-08-13 06:36:42] local.INFO: Received date: 13/08/24 Tuesday  
[2024-08-13 06:36:42] local.INFO: Strength records fetched: 0  
[2024-08-13 06:36:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 06:40:49] local.INFO: Received request data: {"_token":"JZXJpXkaor4xSYXA58dgGdOHym0oHu4tLH7ox2HR","selectdates":"13/08/24 Tuesday","selecttabs":"strength","categorys_1":"2","workouts_1":"24","weigths_1":"80","sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","rests_1":"02:00","intensitys_1":"high","alt-categorys_1":"3","alt-workouts_1":"16","alt-weigths_1":"80","alt-sets_1":"1","alt-reps_1":"4","alt-sets_12":"2","alt-reps_12":"4","alt-rests_1":"01:30","alt-intensitys_1":"medium"} 
[2024-08-13 06:40:51] local.INFO: Received date: 13/08/24 Tuesday  
[2024-08-13 06:40:51] local.INFO: Strength records fetched: 1  
[2024-08-13 06:40:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":3,"category_id":2,"category_name":"Veritcal press","workout_id":24,"workout_type":"Bench Press","weight":80.0,"rest":"02:00","intensity":"high","alt_category_id":3,"alt_category_name":"Vetical pull","alt_workout_id":16,"alt_workout_type":"Pull up","alt_weight":80.0,"alt_rest":"01:30","alt_intensity":"medium","date":"13/08/24 Tuesday","sets":[{"id":4,"sets":1,"reps":4,"alt_sets":1,"alt_reps":4,"strength_id":3,"created_at":"2024-08-13T06:40:49.000000Z","updated_at":"2024-08-13T06:40:49.000000Z"},{"id":5,"sets":2,"reps":4,"alt_sets":2,"alt_reps":4,"strength_id":3,"created_at":"2024-08-13T06:40:49.000000Z","updated_at":"2024-08-13T06:40:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 06:54:13] local.INFO: Members Data: [{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}] 
[2024-08-13 06:54:22] local.INFO: Received date: 13/08/24 Tuesday  
[2024-08-13 06:54:22] local.INFO: Strength records fetched: 1  
[2024-08-13 06:54:22] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":3,"category_id":2,"category_name":"Veritcal press","workout_id":24,"workout_type":"Bench Press","weight":80.0,"rest":"02:00","intensity":"high","alt_category_id":3,"alt_category_name":"Vetical pull","alt_workout_id":16,"alt_workout_type":"Pull up","alt_weight":80.0,"alt_rest":"01:30","alt_intensity":"medium","date":"13/08/24 Tuesday","sets":[{"id":4,"sets":1,"reps":4,"alt_sets":1,"alt_reps":4,"strength_id":3,"created_at":"2024-08-13T06:40:49.000000Z","updated_at":"2024-08-13T06:40:49.000000Z"},{"id":5,"sets":2,"reps":4,"alt_sets":2,"alt_reps":4,"strength_id":3,"created_at":"2024-08-13T06:40:49.000000Z","updated_at":"2024-08-13T06:40:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 06:55:28] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-08-13 06:55:49] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-08-13 06:56:01] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-08-13 07:47:52] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-08-13 23:57:50] local.INFO: Members Data: [{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}] 
[2024-08-13 23:59:28] local.INFO: Received date: 14/08/24 Wednesday  
[2024-08-13 23:59:28] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:30] local.INFO: Received date: 07/08/24 Wednesday  
[2024-08-13 23:59:30] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:31] local.INFO: Received date: 31/07/24 Wednesday  
[2024-08-13 23:59:31] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:31] local.INFO: Received date: 24/07/24 Wednesday  
[2024-08-13 23:59:31] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:31] local.INFO: Received date: 17/07/24 Wednesday  
[2024-08-13 23:59:31] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:32] local.INFO: Received date: 10/07/24 Wednesday  
[2024-08-13 23:59:32] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:33] local.INFO: Received date: 03/07/24 Wednesday  
[2024-08-13 23:59:33] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:33] local.INFO: Received date: 26/06/24 Wednesday  
[2024-08-13 23:59:33] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:33] local.INFO: Received date: 19/06/24 Wednesday  
[2024-08-13 23:59:33] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:33] local.INFO: Received date: 12/06/24 Wednesday  
[2024-08-13 23:59:33] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:33] local.INFO: Received date: 05/06/24 Wednesday  
[2024-08-13 23:59:33] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:34] local.INFO: Received date: 29/05/24 Wednesday  
[2024-08-13 23:59:34] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:34] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:34] local.INFO: Received date: 22/05/24 Wednesday  
[2024-08-13 23:59:34] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:34] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:34] local.INFO: Received date: 15/05/24 Wednesday  
[2024-08-13 23:59:34] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:34] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:34] local.INFO: Received date: 08/05/24 Wednesday  
[2024-08-13 23:59:34] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:34] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:34] local.INFO: Received date: 01/05/24 Wednesday  
[2024-08-13 23:59:34] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:34] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:35] local.INFO: Received date: 24/04/24 Wednesday  
[2024-08-13 23:59:35] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:35] local.INFO: Received date: 17/04/24 Wednesday  
[2024-08-13 23:59:35] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:35] local.INFO: Received date: 10/04/24 Wednesday  
[2024-08-13 23:59:35] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:35] local.INFO: Received date: 03/04/24 Wednesday  
[2024-08-13 23:59:35] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:35] local.INFO: Received date: 27/03/24 Wednesday  
[2024-08-13 23:59:35] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:36] local.INFO: Received date: 20/03/24 Wednesday  
[2024-08-13 23:59:36] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:36] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:36] local.INFO: Received date: 13/03/24 Wednesday  
[2024-08-13 23:59:36] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:36] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:42] local.INFO: Received date: 20/03/24 Wednesday  
[2024-08-13 23:59:42] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:42] local.INFO: Received date: 27/03/24 Wednesday  
[2024-08-13 23:59:42] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-13 23:59:44] local.INFO: Received date: 27/03/24 Wednesday  
[2024-08-13 23:59:44] local.INFO: Strength records fetched: 0  
[2024-08-13 23:59:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-14 00:00:29] local.INFO: Received request data: {"_token":"tdGX6m2vLUT9FBcMxImoCmrYgmRwsmzOHQG8EQ5S","selectdates":"27/03/24 Wednesday","selecttabs":"strength","categorys_1":"4","workouts_1":"17","weigths_1":"65","sets_1":"4","reps_1":"4","rests_1":"02:00","intensitys_1":"medium","alt-categorys_1":"2","alt-workouts_1":"24","alt-weigths_1":"65","alt-sets_1":"3","alt-reps_1":"3","alt-rests_1":"02:00","alt-intensitys_1":"extreme"} 
[2024-08-14 00:00:31] local.INFO: Received date: 27/03/24 Wednesday  
[2024-08-14 00:00:31] local.INFO: Strength records fetched: 1  
[2024-08-14 00:00:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":4,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","weight":65.0,"rest":"02:00","intensity":"medium","alt_category_id":2,"alt_category_name":"Veritcal press","alt_workout_id":24,"alt_workout_type":"Bench Press","alt_weight":65.0,"alt_rest":"02:00","alt_intensity":"extreme","date":"27/03/24 Wednesday","sets":[{"id":6,"sets":4,"reps":4,"alt_sets":3,"alt_reps":3,"strength_id":4,"created_at":"2024-08-14T00:00:29.000000Z","updated_at":"2024-08-14T00:00:29.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-14 00:02:41] local.INFO: Received date: 27/03/24 Wednesday  
[2024-08-14 00:02:41] local.INFO: Test records fetched: 0  
[2024-08-14 00:02:41] local.INFO: Test records fetched: []  
[2024-08-14 00:02:41] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-14 00:11:48] local.INFO: Received date: 27/03/24 Wednesday  
[2024-08-14 00:11:48] local.INFO: Strength records fetched: 1  
[2024-08-14 00:11:48] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":4,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","weight":65.0,"rest":"02:00","intensity":"medium","alt_category_id":2,"alt_category_name":"Veritcal press","alt_workout_id":24,"alt_workout_type":"Bench Press","alt_weight":65.0,"alt_rest":"02:00","alt_intensity":"extreme","date":"27/03/24 Wednesday","sets":[{"id":6,"sets":4,"reps":4,"alt_sets":3,"alt_reps":3,"strength_id":4,"created_at":"2024-08-14T00:00:29.000000Z","updated_at":"2024-08-14T00:00:29.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-14 00:30:46] local.INFO: Members Data: [{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}] 
[2024-08-14 00:30:48] local.INFO: Received date: 14/08/24 Wednesday  
[2024-08-14 00:30:48] local.INFO: Strength records fetched: 0  
[2024-08-14 00:30:48] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-14 00:32:32] local.INFO: Members Data: [{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}] 
[2024-08-14 00:33:30] local.INFO: Received date: 14/08/24 Wednesday  
[2024-08-14 00:33:30] local.INFO: Strength records fetched: 0  
[2024-08-14 00:33:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-14 00:46:18] local.INFO: Received date: 14/08/24 Wednesday  
[2024-08-14 00:46:18] local.INFO: Test records fetched: 0  
[2024-08-14 00:46:18] local.INFO: Test records fetched: []  
[2024-08-14 00:46:18] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-15 00:42:18] local.INFO: Members Data: [{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}] 
[2024-08-15 00:42:19] local.INFO: Received date: 15/08/24 Thursday  
[2024-08-15 00:42:19] local.INFO: Test records fetched: 0  
[2024-08-15 00:42:19] local.INFO: Test records fetched: []  
[2024-08-15 00:42:19] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-15 00:42:22] local.INFO: Received date: 15/08/24 Thursday  
[2024-08-15 00:42:22] local.INFO: Strength records fetched: 0  
[2024-08-15 00:42:22] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-15 00:46:54] local.INFO: Members Data: [{"id":1,"user_id":4,"name":"James","nickname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}] 
[2024-08-15 01:51:31] local.INFO: Image paths before update:   
[2024-08-15 01:51:31] local.INFO: Profile data after update:  {"id":1,"user_id":4,"firstname":"James","lastname":"Lukinss","dob":"1986-06-27 00:00:00","gender":"Male","age":"38","phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":"186","weight":"106","bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:31.000000Z"} 
[2024-08-15 01:51:38] local.INFO: Image paths before update:   
[2024-08-15 01:51:38] local.INFO: Profile data after update:  {"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27 00:00:00","gender":"Male","age":"38","phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":"186","weight":"106","bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"} 
[2024-08-15 04:49:09] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}] 
[2024-08-15 04:49:28] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}] 
[2024-08-15 04:50:22] local.ERROR: Error saving warm-up: Attempt to read property "id" on null  
[2024-08-16 02:47:13] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}] 
[2024-08-20 03:32:33] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}] 
[2024-08-20 03:42:43] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}] 
[2024-08-20 03:42:54] local.INFO: Received date: 20/08/24 Tuesday  
[2024-08-20 03:42:54] local.INFO: Strength records fetched: 0  
[2024-08-20 03:42:54] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-20 03:42:58] local.INFO: Received date: 20/08/24 Tuesday  
[2024-08-20 03:42:59] local.INFO: Test records fetched: 0  
[2024-08-20 03:42:59] local.INFO: Test records fetched: []  
[2024-08-20 03:42:59] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-20 03:43:09] local.INFO: Received date: 21/08/24 Wednesday  
[2024-08-20 03:43:09] local.INFO: Test records fetched: 0  
[2024-08-20 03:43:09] local.INFO: Test records fetched: []  
[2024-08-20 03:43:09] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-20 03:43:10] local.INFO: Received date: 20/08/24 Tuesday  
[2024-08-20 03:43:10] local.INFO: Test records fetched: 0  
[2024-08-20 03:43:10] local.INFO: Test records fetched: []  
[2024-08-20 03:43:10] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-20 03:43:13] local.INFO: Received date: 20/08/24 Tuesday  
[2024-08-20 03:43:13] local.INFO: Strength records fetched: 0  
[2024-08-20 03:43:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-20 03:43:44] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}] 
[2024-08-20 06:00:34] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}] 
[2024-08-21 10:04:24] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}] 
[2024-08-21 10:10:45] local.INFO: Received date: 21/08/24 Wednesday  
[2024-08-21 10:10:45] local.INFO: Strength records fetched: 0  
[2024-08-21 10:10:45] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-21 10:20:34] local.INFO: Received date: 21/08/24 Wednesday  
[2024-08-21 10:20:34] local.INFO: Test records fetched: 0  
[2024-08-21 10:20:34] local.INFO: Test records fetched: []  
[2024-08-21 10:20:34] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-21 10:20:37] local.INFO: Received date: 21/08/24 Wednesday  
[2024-08-21 10:20:37] local.INFO: Test records fetched: 0  
[2024-08-21 10:20:37] local.INFO: Test records fetched: []  
[2024-08-21 10:20:37] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-08-22 05:08:33] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-08-22 05:16:26] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}] 
[2024-08-22 05:16:38] local.INFO: Updated all Conditioning records with date {"date":"22/08/24 Thursday","rounds":"0","amrap":1} 
[2024-08-22 23:44:00] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-08-22 23:44:11] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-08-24 03:23:09] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-08-27 02:17:58] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}] 
[2024-08-27 02:18:48] local.INFO: Received date: 27/08/24 Tuesday  
[2024-08-27 02:18:48] local.INFO: Strength records fetched: 0  
[2024-08-27 02:18:48] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-08-27 02:25:46] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":30,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":80,"bmr":"66.67","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"","created_at":"2024-08-01T09:28:37.000000Z","updated_at":null}] 
[2024-08-27 09:42:33] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(78): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-09-02 06:25:08] local.INFO: Image paths before update:   
[2024-09-02 06:25:08] local.INFO: Profile data after update:  {"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03 00:00:00","gender":"Male","age":"30","phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":"120","weight":"70","bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:25:08.000000Z"} 
[2024-09-02 06:29:06] local.INFO: Image paths before update:   
[2024-09-02 06:29:06] local.INFO: Profile data after update:  {"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03 00:00:00","gender":"Male","age":"31","phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":"120","weight":"70","bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"} 
[2024-09-06 23:27:06] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-09-07 04:29:52] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}] 
[2024-09-10 06:41:14] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-09-25 00:36:36] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-09-26 11:00:20] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(406): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->workouttimer()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('workouttimer', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'workouttimer')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-10-24 02:36:24] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-10-24 02:37:07] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-10-24 03:12:27] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-10-24 03:12:36] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-10-24 03:13:02] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-10-24 03:13:11] local.ERROR: Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Undefined array key 0 (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout-timer.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Undefined array key 0 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:1792)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1792): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 1792)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/ee42d74c5c49302494135f9854a0cb79.php(18): Illuminate\\Support\\Collection->offsetGet(0)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"} 
[2024-10-24 03:56:30] local.INFO: getData function called.  
[2024-10-24 03:56:30] local.INFO: Date received: 24/10/24 Thursday  
[2024-10-24 03:56:30] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2024-10-24 03:56:30] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}}} 
[2024-10-24 03:56:30] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2024-10-24 03:56:30] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2024-10-24 03:56:30] local.INFO: All Details:  
[2024-10-24 03:56:30] local.INFO: Strengths retrieved: {"strengths":[]} 
[2024-10-24 04:01:13] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}] 
[2024-10-24 04:14:57] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}] 
[2024-10-25 05:23:26] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}] 
[2024-10-25 05:23:33] local.INFO: Received date: 25/10/24 Friday  
[2024-10-25 05:23:33] local.INFO: Strength records fetched: 0  
[2024-10-25 05:23:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-10-25 05:23:37] local.INFO: Received date: 25/10/24 Friday  
[2024-10-25 05:23:37] local.INFO: Test records fetched: 0  
[2024-10-25 05:23:37] local.INFO: Test records fetched: []  
[2024-10-25 05:23:37] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-10-25 05:23:41] local.INFO: Received date: 25/10/24 Friday  
[2024-10-25 05:23:41] local.INFO: Strength records fetched: 0  
[2024-10-25 05:23:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-10-25 05:33:22] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"}] 
[2024-10-25 05:34:37] local.INFO: getData function called.  
[2024-10-25 05:34:37] local.INFO: Date received: 25/10/24 Friday  
[2024-10-25 05:34:37] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2024-10-25 05:34:37] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}}} 
[2024-10-25 05:34:37] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2024-10-25 05:34:37] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2024-10-25 05:34:37] local.INFO: All Details:  
[2024-10-25 05:34:37] local.INFO: Strengths retrieved: {"strengths":[]} 
[2024-10-25 05:35:30] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"}] 
[2024-10-25 05:37:09] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"}] 
[2024-10-25 05:37:27] local.INFO: Received date: 25/10/24 Friday  
[2024-10-25 05:37:27] local.INFO: Strength records fetched: 0  
[2024-10-25 05:37:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-10-25 05:39:29] local.ERROR: Not enough data available to satisfy format {"userId":1,"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(435): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->workouttimer()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('workouttimer', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'workouttimer')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-10-25 05:40:09] local.INFO: Updated all Conditioning records with date {"date":"25/10/24 Friday","rounds":"0","amrap":1} 
[2024-10-25 05:40:14] local.ERROR: Not enough data available to satisfy format {"userId":1,"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(123): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->workout()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('workout', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'workout')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-10-25 05:40:40] local.ERROR: Not enough data available to satisfy format {"userId":1,"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(435): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->workouttimer()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('workouttimer', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'workouttimer')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-10-25 05:47:10] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"}] 
[2024-10-25 06:40:34] local.INFO: getData function called.  
[2024-10-25 06:40:34] local.INFO: Date received: 25/10/24 Friday  
[2024-10-25 06:40:34] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2024-10-25 06:40:34] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}}} 
[2024-10-25 06:40:34] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2024-10-25 06:40:34] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2024-10-25 06:40:34] local.INFO: All Details:  
[2024-10-25 06:40:34] local.INFO: Strengths retrieved: {"strengths":[]} 
[2024-10-30 02:56:30] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(435): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->workouttimer()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('workouttimer', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'workouttimer')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-11-12 22:59:32] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"}] 
[2024-11-12 22:59:58] local.INFO: getData function called.  
[2024-11-12 22:59:58] local.INFO: Date received: 13/11/24 Wednesday  
[2024-11-12 22:59:58] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2024-11-12 22:59:58] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}}} 
[2024-11-12 22:59:58] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2024-11-12 22:59:58] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2024-11-12 22:59:58] local.INFO: All Details:  
[2024-11-12 22:59:58] local.INFO: Strengths retrieved: {"strengths":[]} 
[2024-11-12 23:00:40] local.INFO: getData function called.  
[2024-11-12 23:00:40] local.INFO: Date received: 13/11/24 Wednesday  
[2024-11-12 23:00:40] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2024-11-12 23:00:40] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}}} 
[2024-11-12 23:00:40] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2024-11-12 23:00:40] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2024-11-12 23:00:40] local.INFO: All Details:  
[2024-11-12 23:00:40] local.INFO: Strengths retrieved: {"strengths":[]} 
[2024-11-13 00:01:02] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"}] 
[2024-11-13 00:29:59] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"}] 
[2024-11-13 00:29:59] local.INFO: Received date: 13/11/24 Wednesday  
[2024-11-13 00:29:59] local.INFO: Strength records fetched: 0  
[2024-11-13 00:29:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-11-13 00:30:03] local.INFO: Received date: 13/11/24 Wednesday  
[2024-11-13 00:30:03] local.INFO: Test records fetched: 0  
[2024-11-13 00:30:03] local.INFO: Test records fetched: []  
[2024-11-13 00:30:03] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-11-13 00:30:07] local.INFO: Received date: 13/11/24 Wednesday  
[2024-11-13 00:30:07] local.INFO: Strength records fetched: 0  
[2024-11-13 00:30:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-11-13 00:30:10] local.INFO: Received date: 13/11/24 Wednesday  
[2024-11-13 00:30:10] local.INFO: Test records fetched: 0  
[2024-11-13 00:30:10] local.INFO: Test records fetched: []  
[2024-11-13 00:30:10] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-11-27 23:49:15] local.INFO: Image paths before update:   
[2024-11-27 23:49:15] local.INFO: Profile data after update:  {"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02 00:00:00","gender":"Male","age":"34","phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":"187","weight":"106","bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"} 
[2024-11-27 23:53:14] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-11-27 23:53:20] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-11-27 23:54:29] local.INFO: Received date: 28/11/24 Thursday  
[2024-11-27 23:54:29] local.INFO: Strength records fetched: 0  
[2024-11-27 23:54:29] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-11-27 23:59:03] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-11-28 00:01:18] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-11-28 00:01:27] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-11-28 00:01:28] local.INFO: Received date: 28/11/24 Thursday  
[2024-11-28 00:01:28] local.INFO: Strength records fetched: 0  
[2024-11-28 00:01:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-11-28 00:02:58] local.INFO: Received request data: {"_token":"WhUt0ihCP8c1mLnS2ZmuxQVT63Nv90kyBQZNZ8P1","selectdates":"28/11/24 Thursday","selecttabs":"strength","categorys_1":"4","workouts_1":"17","weigths_1":"100","sets_1":"2","reps_1":"4","rests_1":"04:00","intensitys_1":"high","alt-categorys_1":"4","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-rests_1":"04:00"} 
[2024-11-28 00:02:58] local.ERROR: Undefined array key "alt-workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"alt-workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(769): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(741): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '28/11/24 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2024-11-28 00:06:41] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-11-28 00:08:35] local.INFO: storewarmupdaily function called.  
[2024-11-28 00:08:35] local.INFO: Stored day from session: 28/11/2024  
[2024-11-28 00:08:35] local.INFO: Formatted date: 2024-11-28 00:08:35  
[2024-11-28 00:08:35] local.INFO: Day with date: 28/11/24 Thursday  
[2024-11-28 00:08:35] local.INFO: Validated data:  {"warmup_id":"6","reps":"4"} 
[2024-11-28 00:08:35] local.INFO: Authenticated user ID: 2  
[2024-11-28 00:08:35] local.INFO: Existing DailyWarmup record:  {"dailyWarmup":null} 
[2024-11-28 00:08:35] local.INFO: New warm-up created11:  {"dailyWarmup":null} 
[2024-11-28 00:08:35] local.INFO: New warm-up created:  {"dailyWarmup":null} 
[2024-11-28 00:08:35] local.ERROR: Error saving warm-up: Attempt to read property "id" on null  
[2024-11-28 00:09:50] local.INFO: Received date: 28/11/24 Thursday  
[2024-11-28 00:09:50] local.INFO: Strength records fetched: 0  
[2024-11-28 00:09:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-11-28 00:10:46] local.INFO: Received request data: {"_token":"WhUt0ihCP8c1mLnS2ZmuxQVT63Nv90kyBQZNZ8P1","selectdates":"28/11/24 Thursday","selecttabs":"strength","categorys_1":"4","workouts_1":"17","weigths_1":"90","sets_1":"3","reps_1":"3","sets_12":null,"reps_12":null,"rests_1":"04:00","alt-categorys_1":"4","alt-workouts_1":"17","alt-weigths_1":"85","alt-sets_1":"3","alt-reps_1":"3","alt-sets_12":null,"alt-reps_12":null,"alt-rests_1":"04:00"} 
[2024-11-28 00:10:46] local.ERROR: Undefined array key "intensitys" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"intensitys\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:63)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 63)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(63): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 63)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(769): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(741): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '28/11/24 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2024-11-28 00:10:49] local.INFO: Received request data: {"_token":"WhUt0ihCP8c1mLnS2ZmuxQVT63Nv90kyBQZNZ8P1","selectdates":"28/11/24 Thursday","selecttabs":"strength","categorys_1":"4","workouts_1":"17","weigths_1":"90","sets_1":"3","reps_1":"3","sets_12":null,"reps_12":null,"rests_1":"04:00","alt-categorys_1":"4","alt-workouts_1":"17","alt-weigths_1":"85","alt-sets_1":"3","alt-reps_1":"3","alt-sets_12":null,"alt-reps_12":null,"alt-rests_1":"04:00"} 
[2024-11-28 00:10:49] local.ERROR: Undefined array key "intensitys" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"intensitys\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:63)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 63)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(63): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 63)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(769): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(741): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '28/11/24 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2024-11-28 00:11:02] local.INFO: Received request data: {"_token":"WhUt0ihCP8c1mLnS2ZmuxQVT63Nv90kyBQZNZ8P1","selectdates":"28/11/24 Thursday","selecttabs":"strength","categorys_1":"4","workouts_1":"17","weigths_1":"90","sets_1":"3","reps_1":"3","sets_12":null,"reps_12":null,"rests_1":"04:00","intensitys_1":"extreme","alt-categorys_1":"4","alt-workouts_1":"17","alt-weigths_1":"85","alt-sets_1":"3","alt-reps_1":"3","alt-sets_12":null,"alt-reps_12":null,"alt-rests_1":"04:00","alt-intensitys_1":"high"} 
[2024-11-28 00:11:06] local.INFO: Received date: 28/11/24 Thursday  
[2024-11-28 00:11:06] local.INFO: Strength records fetched: 1  
[2024-11-28 00:11:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":5,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","weight":90.0,"rest":"04:00","intensity":"extreme","alt_category_id":4,"alt_category_name":"Squat","alt_workout_id":17,"alt_workout_type":"Back squat","alt_weight":85.0,"alt_rest":"04:00","alt_intensity":"high","date":"28/11/24 Thursday","sets":[{"id":7,"sets":3,"reps":3,"alt_sets":3,"alt_reps":3,"strength_id":5,"created_at":"2024-11-28T00:11:02.000000Z","updated_at":"2024-11-28T00:11:02.000000Z"},{"id":8,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":5,"created_at":"2024-11-28T00:11:02.000000Z","updated_at":"2024-11-28T00:11:02.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}]}} 
[2024-11-28 00:11:09] local.INFO: Received request data: {"_token":"WhUt0ihCP8c1mLnS2ZmuxQVT63Nv90kyBQZNZ8P1","selectdates":"28/11/24 Thursday","selecttabs":"strength","weigths_1":null,"sets_1":null,"reps_1":null,"rests_1":"04:00","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-rests_1":"04:00"} 
[2024-11-28 00:11:09] local.ERROR: Undefined array key "categorys" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"categorys\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:59)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 59)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(59): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 59)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(769): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(741): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '28/11/24 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2024-11-28 00:11:49] local.INFO: Received Request Data: {"strength_id":"5","reps":"3","weight":"27.00","type":"Primary","_token":"524uFzgRjVB9iZjIdGliD104jijYR9XatZRWVGJe"} 
[2024-11-28 00:11:49] local.INFO: Validated Data: {"strength_id":"5","type":"Primary","reps":"3","weight":"27.00"} 
[2024-11-28 00:11:49] local.INFO: Stored day from session: 28/11/2024  
[2024-11-28 00:11:49] local.INFO: Formatted date: 2024-11-28 00:11:49  
[2024-11-28 00:11:49] local.INFO: Formatted Date: {"date":"28/11/24"} 
[2024-11-28 00:11:49] local.INFO: Weight Value: {"weight":27.0} 
[2024-11-28 00:11:49] local.INFO: Created New DailyStrength Record: {"user_id":2,"strength_id":"5","date":"28/11/24 Thursday","weight":27.0,"type":"Primary","created_data":{"strength_id":"5","type":"Primary","reps":"3","weight":27.0}} 
[2024-11-28 00:19:40] local.INFO: Received Request Data: {"strength_id":"5","reps":"3","weight":"58.50","type":"Primary","_token":"524uFzgRjVB9iZjIdGliD104jijYR9XatZRWVGJe"} 
[2024-11-28 00:19:40] local.INFO: Validated Data: {"strength_id":"5","type":"Primary","reps":"3","weight":"58.50"} 
[2024-11-28 00:19:40] local.INFO: Stored day from session: 28/11/2024  
[2024-11-28 00:19:40] local.INFO: Formatted date: 2024-11-28 00:19:40  
[2024-11-28 00:19:40] local.INFO: Formatted Date: {"date":"28/11/24"} 
[2024-11-28 00:19:40] local.INFO: Weight Value: {"weight":58.5} 
[2024-11-28 00:19:40] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"5","date":"28/11/24 Thursday","weight":58.5,"type":"Primary","updated_data":{"strength_id":"5","type":"Primary","reps":"3","weight":58.5}} 
[2024-11-28 00:25:36] local.INFO: Updated all Conditioning records with date {"date":"28/11/24 Thursday","rounds":"4","amrap":false} 
[2024-11-28 00:25:36] local.INFO: Updated all Conditioning records with date {"date":"28/11/24 Thursday","rounds":"4","amrap":false} 
[2024-11-30 08:22:45] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(79): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-12-03 23:19:00] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-03 23:31:48] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-03 23:31:51] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-03 23:31:51] local.INFO: Strength records fetched: 0  
[2024-12-03 23:31:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-03 23:33:18] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-03 23:33:27] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-03 23:33:27] local.INFO: Strength records fetched: 0  
[2024-12-03 23:33:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 03:38:31] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 03:38:43] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:38:43] local.INFO: Strength records fetched: 0  
[2024-12-04 03:38:43] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 03:38:49] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:38:49] local.INFO: Test records fetched: 0  
[2024-12-04 03:38:49] local.INFO: Test records fetched: []  
[2024-12-04 03:38:49] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 03:39:03] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:39:03] local.INFO: Strength records fetched: 0  
[2024-12-04 03:39:03] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 03:39:06] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:39:06] local.INFO: Test records fetched: 0  
[2024-12-04 03:39:06] local.INFO: Test records fetched: []  
[2024-12-04 03:39:06] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 03:39:18] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:39:18] local.INFO: Test records fetched: 0  
[2024-12-04 03:39:18] local.INFO: Test records fetched: []  
[2024-12-04 03:39:18] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 03:39:19] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:39:19] local.INFO: Strength records fetched: 0  
[2024-12-04 03:39:19] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 03:39:20] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:39:20] local.INFO: Strength records fetched: 0  
[2024-12-04 03:39:20] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 03:39:22] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:39:22] local.INFO: Test records fetched: 0  
[2024-12-04 03:39:22] local.INFO: Test records fetched: []  
[2024-12-04 03:39:22] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 03:39:23] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:39:23] local.INFO: Strength records fetched: 0  
[2024-12-04 03:39:23] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 03:39:25] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:39:25] local.INFO: Test records fetched: 0  
[2024-12-04 03:39:25] local.INFO: Test records fetched: []  
[2024-12-04 03:39:25] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 03:39:28] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:39:28] local.INFO: Strength records fetched: 0  
[2024-12-04 03:39:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 03:39:33] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 03:39:34] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:39:34] local.INFO: Strength records fetched: 0  
[2024-12-04 03:39:34] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 03:39:35] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:39:35] local.INFO: Test records fetched: 0  
[2024-12-04 03:39:35] local.INFO: Test records fetched: []  
[2024-12-04 03:39:35] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 03:39:58] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:39:58] local.INFO: Strength records fetched: 0  
[2024-12-04 03:39:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 03:40:04] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:40:04] local.INFO: Test records fetched: 0  
[2024-12-04 03:40:04] local.INFO: Test records fetched: []  
[2024-12-04 03:40:04] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 03:40:09] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 03:40:09] local.INFO: Strength records fetched: 0  
[2024-12-04 03:40:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 04:14:57] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(123): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->workout()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('workout', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'workout')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2024-12-04 04:26:16] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 04:26:54] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 04:26:54] local.INFO: Strength records fetched: 0  
[2024-12-04 04:26:54] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 04:28:31] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 04:28:31] local.INFO: Test records fetched: 0  
[2024-12-04 04:28:31] local.INFO: Test records fetched: []  
[2024-12-04 04:28:31] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 04:28:33] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 04:28:33] local.INFO: Strength records fetched: 0  
[2024-12-04 04:28:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 04:28:42] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 04:28:42] local.INFO: Strength records fetched: 0  
[2024-12-04 04:28:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 04:30:09] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 04:30:09] local.INFO: Strength records fetched: 0  
[2024-12-04 04:30:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 04:30:20] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 04:30:20] local.INFO: Test records fetched: 0  
[2024-12-04 04:30:20] local.INFO: Test records fetched: []  
[2024-12-04 04:30:20] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 04:30:24] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 04:30:24] local.INFO: Strength records fetched: 0  
[2024-12-04 04:30:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 04:31:08] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 04:31:08] local.INFO: Strength records fetched: 0  
[2024-12-04 04:31:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 04:31:53] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 04:31:53] local.INFO: Test records fetched: 0  
[2024-12-04 04:31:53] local.INFO: Test records fetched: []  
[2024-12-04 04:31:53] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 04:31:55] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 04:31:55] local.INFO: Strength records fetched: 0  
[2024-12-04 04:31:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 04:45:45] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 05:42:43] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 05:42:51] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 05:42:51] local.INFO: Strength records fetched: 0  
[2024-12-04 05:42:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 05:44:30] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 05:44:30] local.INFO: Strength records fetched: 0  
[2024-12-04 05:44:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 05:45:53] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 05:47:41] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 05:47:41] local.INFO: Strength records fetched: 0  
[2024-12-04 05:47:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 05:47:56] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 05:47:56] local.INFO: Test records fetched: 0  
[2024-12-04 05:47:56] local.INFO: Test records fetched: []  
[2024-12-04 05:47:56] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 07:05:05] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 07:05:06] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 07:05:06] local.INFO: Strength records fetched: 0  
[2024-12-04 07:05:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-04 08:43:04] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 08:43:05] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 08:43:05] local.INFO: Strength records fetched: 0  
[2024-12-04 08:43:05] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null}]}} 
[2024-12-04 08:46:56] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 08:46:57] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 08:46:57] local.INFO: Strength records fetched: 0  
[2024-12-04 08:46:57] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}]}} 
[2024-12-04 08:48:41] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 08:48:41] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 08:48:41] local.INFO: Strength records fetched: 0  
[2024-12-04 08:48:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}]}} 
[2024-12-04 08:50:36] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 08:50:37] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 08:50:37] local.INFO: Strength records fetched: 0  
[2024-12-04 08:50:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}]}} 
[2024-12-04 08:50:43] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 08:50:43] local.INFO: Test records fetched: 0  
[2024-12-04 08:50:43] local.INFO: Test records fetched: []  
[2024-12-04 08:50:43] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 08:50:47] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 08:50:47] local.INFO: Strength records fetched: 0  
[2024-12-04 08:50:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}]}} 
[2024-12-04 08:52:20] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 08:52:20] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 08:52:20] local.INFO: Strength records fetched: 0  
[2024-12-04 08:52:20] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}]}} 
[2024-12-04 08:56:48] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 08:56:49] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 08:56:49] local.INFO: Strength records fetched: 0  
[2024-12-04 08:56:49] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}}}} 
[2024-12-04 09:02:33] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 09:03:09] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 09:03:09] local.INFO: Strength records fetched: 0  
[2024-12-04 09:03:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}}}} 
[2024-12-04 09:03:15] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 09:03:15] local.INFO: Strength records fetched: 0  
[2024-12-04 09:03:15] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}}}} 
[2024-12-04 09:04:23] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 09:04:23] local.INFO: Strength records fetched: 0  
[2024-12-04 09:04:23] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}}}} 
[2024-12-04 09:04:26] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 09:04:26] local.INFO: Strength records fetched: 0  
[2024-12-04 09:04:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}}}} 
[2024-12-04 09:06:19] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 09:06:19] local.INFO: Strength records fetched: 0  
[2024-12-04 09:06:19] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}}}} 
[2024-12-04 09:06:52] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 09:06:52] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 09:06:52] local.INFO: Strength records fetched: 0  
[2024-12-04 09:06:52] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}}}} 
[2024-12-04 12:25:39] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-04 12:25:42] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 12:25:42] local.INFO: Strength records fetched: 0  
[2024-12-04 12:25:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}}}} 
[2024-12-04 12:25:51] local.INFO: Received request data: {"_token":"TlTwUQmLhOw9Rxcjl2vFQW6QwtzuSLhWdoQMScxI","selectdates":"04/12/24 Wednesday","selecttabs":"strength","weigths_1":null,"sets_1":null,"reps_1":null,"rests_1":"04:00","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-rests_1":"04:00"} 
[2024-12-04 12:25:51] local.ERROR: Undefined array key "categorys" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"categorys\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:59)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 59)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(59): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 59)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(769): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(741): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '04/12/24 Wednes...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2024-12-04 12:27:09] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 12:27:09] local.INFO: Test records fetched: 0  
[2024-12-04 12:27:09] local.INFO: Test records fetched: []  
[2024-12-04 12:27:09] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 12:27:15] local.INFO: Received date:   
[2024-12-04 12:27:15] local.INFO: Test records fetched: 0  
[2024-12-04 12:27:15] local.INFO: Test records fetched: []  
[2024-12-04 12:27:15] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 12:27:42] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 12:27:42] local.INFO: Test records fetched: 0  
[2024-12-04 12:27:42] local.INFO: Test records fetched: []  
[2024-12-04 12:27:42] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-04 12:41:31] local.INFO: Received date: 04/12/24 Wednesday  
[2024-12-04 12:41:31] local.INFO: Strength records fetched: 0  
[2024-12-04 12:41:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null}}}} 
[2024-12-05 01:43:06] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-05 01:43:07] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 01:43:07] local.INFO: Strength records fetched: 0  
[2024-12-05 01:43:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-05 01:43:16] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 01:43:16] local.INFO: Strength records fetched: 0  
[2024-12-05 01:43:16] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-05 01:43:19] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 01:43:19] local.INFO: Test records fetched: 0  
[2024-12-05 01:43:19] local.INFO: Test records fetched: []  
[2024-12-05 01:43:19] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-05 01:43:35] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-05 01:44:23] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-05 02:31:58] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-05 02:31:59] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 02:31:59] local.INFO: Strength records fetched: 0  
[2024-12-05 02:31:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-05 02:32:10] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 02:32:10] local.INFO: Test records fetched: 0  
[2024-12-05 02:32:10] local.INFO: Test records fetched: []  
[2024-12-05 02:32:10] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-05 02:32:17] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 02:32:17] local.INFO: Strength records fetched: 0  
[2024-12-05 02:32:17] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-05 02:43:37] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-05 02:43:50] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 02:43:50] local.INFO: Strength records fetched: 0  
[2024-12-05 02:43:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-05 02:44:39] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 02:44:39] local.INFO: Test records fetched: 0  
[2024-12-05 02:44:39] local.INFO: Test records fetched: []  
[2024-12-05 02:44:39] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-05 02:44:58] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 02:44:58] local.INFO: Strength records fetched: 0  
[2024-12-05 02:44:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-05 02:45:41] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-05 02:46:17] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 02:46:17] local.INFO: Test records fetched: 0  
[2024-12-05 02:46:17] local.INFO: Test records fetched: []  
[2024-12-05 02:46:17] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-05 02:46:21] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 02:46:21] local.INFO: Test records fetched: 0  
[2024-12-05 02:46:21] local.INFO: Test records fetched: []  
[2024-12-05 02:46:21] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-05 02:46:22] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 02:46:22] local.INFO: Test records fetched: 0  
[2024-12-05 02:46:22] local.INFO: Test records fetched: []  
[2024-12-05 02:46:22] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-05 02:46:23] local.INFO: Received date: 05/12/24 Thursday  
[2024-12-05 02:46:23] local.INFO: Test records fetched: 0  
[2024-12-05 02:46:23] local.INFO: Test records fetched: []  
[2024-12-05 02:46:23] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2024-12-09 06:31:44] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2024-12-09 06:31:47] local.INFO: Received date: 09/12/24 Monday  
[2024-12-09 06:31:47] local.INFO: Strength records fetched: 0  
[2024-12-09 06:31:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2024-12-10 11:28:40] local.INFO: getData function called.  
[2024-12-10 11:28:40] local.INFO: Date received: 10/12/24 Tuesday  
[2024-12-10 11:28:40] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2024-12-10 11:28:41] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}}} 
[2024-12-10 11:28:41] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2024-12-10 11:28:41] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2024-12-10 11:28:41] local.INFO: All Details:  
[2024-12-10 11:28:41] local.INFO: Strengths retrieved: {"strengths":[]} 
[2024-12-10 14:27:56] local.INFO: getData function called.  
[2024-12-10 14:27:56] local.INFO: Date received: 10/12/24 Tuesday  
[2024-12-10 14:27:56] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2024-12-10 14:27:56] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}}} 
[2024-12-10 14:27:56] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2024-12-10 14:27:56] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2024-12-10 14:27:56] local.INFO: All Details:  
[2024-12-10 14:27:56] local.INFO: Strengths retrieved: {"strengths":[]} 
[2024-12-18 07:16:07] local.INFO: getData function called.  
[2024-12-18 07:16:07] local.INFO: Date received: 18/12/24 Wednesday  
[2024-12-18 07:16:07] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2024-12-18 07:16:07] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"}}} 
[2024-12-18 07:16:07] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2024-12-18 07:16:07] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2024-12-18 07:16:07] local.INFO: All Details:  
[2024-12-18 07:16:07] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-01-10 01:37:29] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2025-01-10 01:38:07] local.INFO: Received date: 10/01/25 Friday  
[2025-01-10 01:38:07] local.INFO: Strength records fetched: 0  
[2025-01-10 01:38:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vetical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Veritcal press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":7,"category_name":"Core","created_at":null,"updated_at":null}}}} 
[2025-01-27 03:44:52] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2025-01-28 04:12:23] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2025-01-28 04:12:23] local.INFO: Received date: 28/01/25 Tuesday  
[2025-01-28 04:12:24] local.INFO: Strength records fetched: 0  
[2025-01-28 04:12:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-28 04:12:46] local.INFO: Received request data: {"_token":"qvWCMW67w1jbsG49RNUp6vw9KRxReA2IDy72wDd3","selectdates":"28/01/25 Tuesday","selecttabs":"strength","categorys_1":"6","workouts_1":"82","weigths_1":"12","sets_1":"1","reps_1":"2","rests_1":"04:00","intensitys_1":"low","alt-categorys_1":"1","alt-workouts_1":"27","alt-weigths_1":"15","alt-sets_1":"1","alt-reps_1":"3","alt-rests_1":"04:00","alt-intensitys_1":"medium"} 
[2025-01-28 04:12:48] local.INFO: Received date: 28/01/25 Tuesday  
[2025-01-28 04:12:48] local.INFO: Strength records fetched: 1  
[2025-01-28 04:12:48] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":6,"category_id":6,"category_name":"Carry/Oly","workout_id":82,"workout_type":"Offset carry","weight":12.0,"rest":"04:00","intensity":"low","alt_category_id":1,"alt_category_name":"Horizontal pull","alt_workout_id":27,"alt_workout_type":"Bent over row","alt_weight":15.0,"alt_rest":"04:00","alt_intensity":"medium","date":"28/01/25 Tuesday","sets":[{"id":9,"sets":1,"reps":2,"alt_sets":1,"alt_reps":3,"strength_id":6,"created_at":"2025-01-28T04:12:46.000000Z","updated_at":"2025-01-28T04:12:46.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-28 04:12:48] local.INFO: Received request data: {"_token":"qvWCMW67w1jbsG49RNUp6vw9KRxReA2IDy72wDd3","selectdates":"28/01/25 Tuesday","selecttabs":"strength","weigths_1":null,"sets_1":null,"reps_1":null,"rests_1":"04:00","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-rests_1":"04:00"} 
[2025-01-28 04:12:48] local.ERROR: Undefined array key "categorys" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"categorys\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:59)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 59)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(59): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 59)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(769): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(741): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '28/01/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-01-28 04:13:05] local.INFO: Received date: 28/01/25 Tuesday  
[2025-01-28 04:13:05] local.INFO: Strength records fetched: 1  
[2025-01-28 04:13:05] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":6,"category_id":6,"category_name":"Carry/Oly","workout_id":82,"workout_type":"Offset carry","weight":12.0,"rest":"04:00","intensity":"low","alt_category_id":1,"alt_category_name":"Horizontal pull","alt_workout_id":27,"alt_workout_type":"Bent over row","alt_weight":15.0,"alt_rest":"04:00","alt_intensity":"medium","date":"28/01/25 Tuesday","sets":[{"id":9,"sets":1,"reps":2,"alt_sets":1,"alt_reps":3,"strength_id":6,"created_at":"2025-01-28T04:12:46.000000Z","updated_at":"2025-01-28T04:12:46.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-28 04:14:05] local.INFO: Received date: 28/01/25 Tuesday  
[2025-01-28 04:14:05] local.INFO: Strength records fetched: 1  
[2025-01-28 04:14:05] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":6,"category_id":6,"category_name":"Carry/Oly","workout_id":82,"workout_type":"Offset carry","weight":12.0,"rest":"04:00","intensity":"low","alt_category_id":1,"alt_category_name":"Horizontal pull","alt_workout_id":27,"alt_workout_type":"Bent over row","alt_weight":15.0,"alt_rest":"04:00","alt_intensity":"medium","date":"28/01/25 Tuesday","sets":[{"id":9,"sets":1,"reps":2,"alt_sets":1,"alt_reps":3,"strength_id":6,"created_at":"2025-01-28T04:12:46.000000Z","updated_at":"2025-01-28T04:12:46.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-28 04:27:00] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2025-01-28 04:27:14] local.INFO: Received date: 28/01/25 Tuesday  
[2025-01-28 04:27:14] local.INFO: Strength records fetched: 1  
[2025-01-28 04:27:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":6,"category_id":6,"category_name":"Carry/Oly","workout_id":82,"workout_type":"Offset carry","weight":12.0,"rest":"04:00","intensity":"low","alt_category_id":1,"alt_category_name":"Horizontal pull","alt_workout_id":27,"alt_workout_type":"Bent over row","alt_weight":15.0,"alt_rest":"04:00","alt_intensity":"medium","date":"28/01/25 Tuesday","sets":[{"id":9,"sets":1,"reps":2,"alt_sets":1,"alt_reps":3,"strength_id":6,"created_at":"2025-01-28T04:12:46.000000Z","updated_at":"2025-01-28T04:12:46.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-28 04:34:05] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2025-01-28 04:34:05] local.INFO: Received date: 28/01/25 Tuesday  
[2025-01-28 04:34:05] local.INFO: Strength records fetched: 1  
[2025-01-28 04:34:05] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":6,"category_id":6,"category_name":"Carry/Oly","workout_id":82,"workout_type":"Offset carry","weight":12.0,"rest":"04:00","intensity":"low","alt_category_id":1,"alt_category_name":"Horizontal pull","alt_workout_id":27,"alt_workout_type":"Bent over row","alt_weight":15.0,"alt_rest":"04:00","alt_intensity":"medium","date":"28/01/25 Tuesday","sets":[{"id":9,"sets":1,"reps":2,"alt_sets":1,"alt_reps":3,"strength_id":6,"created_at":"2025-01-28T04:12:46.000000Z","updated_at":"2025-01-28T04:12:46.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-28 04:34:31] local.INFO: Received request data: {"_token":"Xb7qAmyIwcRERepMPVClkcFAmicy0VkzbsraB3B1","selectdates":"28/01/25 Tuesday","selecttabs":"strength","categorys_1":"5","workouts_1":"78","weigths_1":"23","sets_1":"2","reps_1":"2","rests_1":"04:15","intensitys_1":"medium","alt-categorys_1":"1","alt-workouts_1":"37","alt-weigths_1":"123","alt-sets_1":"2","alt-reps_1":"2","alt-rests_1":"04:15","alt-intensitys_1":"high"} 
[2025-01-28 04:34:33] local.INFO: Received date: 28/01/25 Tuesday  
[2025-01-28 04:34:33] local.INFO: Strength records fetched: 2  
[2025-01-28 04:34:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":6,"category_id":6,"category_name":"Carry/Oly","workout_id":82,"workout_type":"Offset carry","weight":12.0,"rest":"04:00","intensity":"low","alt_category_id":1,"alt_category_name":"Horizontal pull","alt_workout_id":27,"alt_workout_type":"Bent over row","alt_weight":15.0,"alt_rest":"04:00","alt_intensity":"medium","date":"28/01/25 Tuesday","sets":[{"id":9,"sets":1,"reps":2,"alt_sets":1,"alt_reps":3,"strength_id":6,"created_at":"2025-01-28T04:12:46.000000Z","updated_at":"2025-01-28T04:12:46.000000Z"}]},{"id":7,"category_id":5,"category_name":"Hinge","workout_id":78,"workout_type":"Hex bar deadlift","weight":23.0,"rest":"04:15","intensity":"medium","alt_category_id":1,"alt_category_name":"Horizontal pull","alt_workout_id":37,"alt_workout_type":"Gorilla row","alt_weight":123.0,"alt_rest":"04:15","alt_intensity":"high","date":"28/01/25 Tuesday","sets":[{"id":10,"sets":2,"reps":2,"alt_sets":2,"alt_reps":2,"strength_id":7,"created_at":"2025-01-28T04:34:31.000000Z","updated_at":"2025-01-28T04:34:31.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-28 04:34:59] local.INFO: Received date: 28/01/25 Tuesday  
[2025-01-28 04:34:59] local.INFO: Strength records fetched: 2  
[2025-01-28 04:34:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":6,"category_id":6,"category_name":"Carry/Oly","workout_id":82,"workout_type":"Offset carry","weight":12.0,"rest":"04:00","intensity":"low","alt_category_id":1,"alt_category_name":"Horizontal pull","alt_workout_id":27,"alt_workout_type":"Bent over row","alt_weight":15.0,"alt_rest":"04:00","alt_intensity":"medium","date":"28/01/25 Tuesday","sets":[{"id":9,"sets":1,"reps":2,"alt_sets":1,"alt_reps":3,"strength_id":6,"created_at":"2025-01-28T04:12:46.000000Z","updated_at":"2025-01-28T04:12:46.000000Z"}]},{"id":7,"category_id":5,"category_name":"Hinge","workout_id":78,"workout_type":"Hex bar deadlift","weight":23.0,"rest":"04:15","intensity":"medium","alt_category_id":1,"alt_category_name":"Horizontal pull","alt_workout_id":37,"alt_workout_type":"Gorilla row","alt_weight":123.0,"alt_rest":"04:15","alt_intensity":"high","date":"28/01/25 Tuesday","sets":[{"id":10,"sets":2,"reps":2,"alt_sets":2,"alt_reps":2,"strength_id":7,"created_at":"2025-01-28T04:34:31.000000Z","updated_at":"2025-01-28T04:34:31.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-28 05:03:22] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z"},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z"},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z"},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z"},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z"}] 
[2025-01-29 06:35:34] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-01-29 06:35:53] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-01-29 06:36:37] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 06:36:37] local.INFO: Strength records fetched: 0  
[2025-01-29 06:36:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-29 06:37:23] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 06:37:23] local.INFO: Strength records fetched: 0  
[2025-01-29 06:37:23] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-29 06:37:33] local.INFO: Received request data: {"_token":"hJVx703aPK6yXazjM1PvdguIqSubnuX9EQXWEcST","selectdates":"29/01/25 Wednesday","selecttabs":"strength","categorys_1":"5","workouts_1":"72","weigths_1":"10","sets_1":"1","reps_1":"2","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-01-29 06:37:33] local.ERROR: Undefined array key "intensitys" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"intensitys\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:69)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 69)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(69): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 69)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-01-29 06:37:37] local.INFO: Received request data: {"_token":"hJVx703aPK6yXazjM1PvdguIqSubnuX9EQXWEcST","selectdates":"29/01/25 Wednesday","selecttabs":"strength","categorys_1":"5","workouts_1":"72","weigths_1":"10","sets_1":"1","reps_1":"2","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-01-29 06:37:37] local.ERROR: Undefined array key "intensitys" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"intensitys\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:69)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 69)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(69): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 69)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-01-29 06:37:41] local.INFO: Received request data: {"_token":"hJVx703aPK6yXazjM1PvdguIqSubnuX9EQXWEcST","selectdates":"29/01/25 Wednesday","selecttabs":"strength","categorys_1":"5","workouts_1":"72","weigths_1":"10","sets_1":"1","reps_1":"2","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","intensitys_1":"low","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-01-29 06:37:41] local.ERROR: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'altweight' cannot be null (Connection: mysql, SQL: insert into `strengths` (`category_id`, `workout_id`, `weight`, `restred`, `restyellow`, `restgreen`, `intensity`, `alt_category_id`, `alt_workout_id`, `altweight`, `altrestred`, `altrestyellow`, `altrestgreen`, `altintensity`, `date`, `updated_at`, `created_at`) values (5, 72, 10, 04:00, 04:00, 04:00, low, ?, ?, ?, 00:00:00, 04:00, 04:00, ?, 29/01/25 Wednesday, 2025-01-29 06:37:41, 2025-01-29 06:37:41)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'altweight' cannot be null (Connection: mysql, SQL: insert into `strengths` (`category_id`, `workout_id`, `weight`, `restred`, `restyellow`, `restgreen`, `intensity`, `alt_category_id`, `alt_workout_id`, `altweight`, `altrestred`, `altrestyellow`, `altrestgreen`, `altintensity`, `date`, `updated_at`, `created_at`) values (5, 72, 10, 04:00, 04:00, 04:00, low, ?, ?, ?, 00:00:00, 04:00, 04:00, ?, 29/01/25 Wednesday, 2025-01-29 06:37:41, 2025-01-29 06:37:41)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `st...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `st...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `st...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `st...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(80): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#59 {main}

[previous exception] [object] (PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'altweight' cannot be null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `st...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `st...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `st...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `st...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `st...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(80): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#61 {main}
"} 
[2025-01-29 06:37:58] local.INFO: Received request data: {"_token":"hJVx703aPK6yXazjM1PvdguIqSubnuX9EQXWEcST","selectdates":"29/01/25 Wednesday","selecttabs":"strength","categorys_1":"5","workouts_1":"72","weigths_1":"10","sets_1":"1","reps_1":"2","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","intensitys_1":"low","alt-categorys_1":"6","alt-workouts_1":"82","alt-weigths_1":"12","alt-sets_1":"1","alt-reps_1":"2","alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00","alt-intensitys_1":"low"} 
[2025-01-29 06:37:59] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 06:37:59] local.INFO: Strength records fetched: 1  
[2025-01-29 06:37:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":10.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":6,"alt_category_name":"Carry/Oly","alt_workout_id":82,"alt_workout_type":"Offset carry","alt_weight":12.0,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":"low","date":"29/01/25 Wednesday","sets":[{"id":11,"sets":1,"reps":2,"alt_sets":1,"alt_reps":2,"strength_id":8,"created_at":"2025-01-29T06:37:58.000000Z","updated_at":"2025-01-29T06:37:58.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-29 06:39:32] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-01-29 06:39:35] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 06:39:35] local.INFO: Strength records fetched: 1  
[2025-01-29 06:39:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":10.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":6,"alt_category_name":"Carry/Oly","alt_workout_id":82,"alt_workout_type":"Offset carry","alt_weight":12.0,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":"low","date":"29/01/25 Wednesday","sets":[{"id":11,"sets":1,"reps":2,"alt_sets":1,"alt_reps":2,"strength_id":8,"created_at":"2025-01-29T06:37:58.000000Z","updated_at":"2025-01-29T06:37:58.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-29 06:39:56] local.INFO: Received request data: {"_token":"uOPpyQmAqwIkXUwxswncrEzgVbtyYRYOUmVw7yQl","selectdates":"29/01/25 Wednesday","selecttabs":"strength","categorys_1":"4","workouts_1":"62","weigths_1":"20","sets_1":"1","reps_1":"2","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-01-29 06:39:56] local.ERROR: Undefined array key "intensitys" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"intensitys\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:69)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 69)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(69): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 69)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-01-29 06:40:08] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-01-29 06:40:08] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 06:40:08] local.INFO: Strength records fetched: 1  
[2025-01-29 06:40:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":10.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":6,"alt_category_name":"Carry/Oly","alt_workout_id":82,"alt_workout_type":"Offset carry","alt_weight":12.0,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":"low","date":"29/01/25 Wednesday","sets":[{"id":11,"sets":1,"reps":2,"alt_sets":1,"alt_reps":2,"strength_id":8,"created_at":"2025-01-29T06:37:58.000000Z","updated_at":"2025-01-29T06:37:58.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-29 06:41:08] local.INFO: Received request data: {"_token":"uOPpyQmAqwIkXUwxswncrEzgVbtyYRYOUmVw7yQl","selectdates":"29/01/25 Wednesday","selecttabs":"strength","categorys_1":"6","workouts_1":"83","weigths_1":"10","sets_1":"1","reps_1":"1","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","intensitys_1":"medium","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-01-29 06:41:08] local.ERROR: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'altweight' cannot be null (Connection: mysql, SQL: insert into `strengths` (`category_id`, `workout_id`, `weight`, `restred`, `restyellow`, `restgreen`, `intensity`, `alt_category_id`, `alt_workout_id`, `altweight`, `altrestred`, `altrestyellow`, `altrestgreen`, `altintensity`, `date`, `updated_at`, `created_at`) values (6, 83, 10, 04:00, 04:00, 04:00, medium, ?, ?, ?, 00:00:00, 04:00, 04:00, ?, 29/01/25 Wednesday, 2025-01-29 06:41:08, 2025-01-29 06:41:08)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'altweight' cannot be null (Connection: mysql, SQL: insert into `strengths` (`category_id`, `workout_id`, `weight`, `restred`, `restyellow`, `restgreen`, `intensity`, `alt_category_id`, `alt_workout_id`, `altweight`, `altrestred`, `altrestyellow`, `altrestgreen`, `altintensity`, `date`, `updated_at`, `created_at`) values (6, 83, 10, 04:00, 04:00, 04:00, medium, ?, ?, ?, 00:00:00, 04:00, 04:00, ?, 29/01/25 Wednesday, 2025-01-29 06:41:08, 2025-01-29 06:41:08)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `st...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `st...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `st...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `st...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(80): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#59 {main}

[previous exception] [object] (PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'altweight' cannot be null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `st...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `st...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `st...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `st...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `st...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(80): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#61 {main}
"} 
[2025-01-29 06:45:01] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-01-29 06:45:03] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 06:45:03] local.INFO: Strength records fetched: 1  
[2025-01-29 06:45:03] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":10.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":6,"alt_category_name":"Carry/Oly","alt_workout_id":82,"alt_workout_type":"Offset carry","alt_weight":12.0,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":"low","date":"29/01/25 Wednesday","sets":[{"id":11,"sets":1,"reps":2,"alt_sets":1,"alt_reps":2,"strength_id":8,"created_at":"2025-01-29T06:37:58.000000Z","updated_at":"2025-01-29T06:37:58.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-29 06:45:21] local.INFO: Received request data: {"_token":"uOPpyQmAqwIkXUwxswncrEzgVbtyYRYOUmVw7yQl","selectdates":"29/01/25 Wednesday","selecttabs":"strength","categorys_1":"4","workouts_1":"60","weigths_1":"20","sets_1":"1","reps_1":"2","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-01-29 06:45:21] local.ERROR: Undefined array key "intensitys" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"intensitys\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:69)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 69)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(69): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 69)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-01-29 06:45:35] local.INFO: Received request data: {"_token":"uOPpyQmAqwIkXUwxswncrEzgVbtyYRYOUmVw7yQl","selectdates":"29/01/25 Wednesday","selecttabs":"strength","categorys_1":"4","workouts_1":"60","weigths_1":"20","sets_1":"1","reps_1":"2","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","intensitys_1":"medium","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-01-29 06:45:35] local.ERROR: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'altintensity' cannot be null (Connection: mysql, SQL: insert into `strengths` (`category_id`, `workout_id`, `weight`, `restred`, `restyellow`, `restgreen`, `intensity`, `alt_category_id`, `alt_workout_id`, `altweight`, `altrestred`, `altrestyellow`, `altrestgreen`, `altintensity`, `date`, `updated_at`, `created_at`) values (4, 60, 20, 04:00, 04:00, 04:00, medium, ?, ?, ?, 00:00:00, 04:00, 04:00, ?, 29/01/25 Wednesday, 2025-01-29 06:45:35, 2025-01-29 06:45:35)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'altintensity' cannot be null (Connection: mysql, SQL: insert into `strengths` (`category_id`, `workout_id`, `weight`, `restred`, `restyellow`, `restgreen`, `intensity`, `alt_category_id`, `alt_workout_id`, `altweight`, `altrestred`, `altrestyellow`, `altrestgreen`, `altintensity`, `date`, `updated_at`, `created_at`) values (4, 60, 20, 04:00, 04:00, 04:00, medium, ?, ?, ?, 00:00:00, 04:00, 04:00, ?, 29/01/25 Wednesday, 2025-01-29 06:45:35, 2025-01-29 06:45:35)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `st...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `st...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `st...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `st...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(80): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#59 {main}

[previous exception] [object] (PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'altintensity' cannot be null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `st...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `st...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `st...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `st...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `st...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(80): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#61 {main}
"} 
[2025-01-29 06:45:54] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-01-29 06:45:59] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 06:45:59] local.INFO: Strength records fetched: 1  
[2025-01-29 06:45:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":10.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":6,"alt_category_name":"Carry/Oly","alt_workout_id":82,"alt_workout_type":"Offset carry","alt_weight":12.0,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":"low","date":"29/01/25 Wednesday","sets":[{"id":11,"sets":1,"reps":2,"alt_sets":1,"alt_reps":2,"strength_id":8,"created_at":"2025-01-29T06:37:58.000000Z","updated_at":"2025-01-29T06:37:58.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-29 06:46:24] local.INFO: Received request data: {"_token":"uOPpyQmAqwIkXUwxswncrEzgVbtyYRYOUmVw7yQl","selectdates":"29/01/25 Wednesday","selecttabs":"strength","categorys_1":"4","workouts_1":"60","weigths_1":"20","sets_1":"1","reps_1":"1","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-01-29 06:46:24] local.ERROR: Undefined array key "intensitys" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"intensitys\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:69)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 69)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(69): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 69)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-01-29 06:49:07] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-01-29 06:49:09] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 06:49:09] local.INFO: Strength records fetched: 1  
[2025-01-29 06:49:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":10.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":6,"alt_category_name":"Carry/Oly","alt_workout_id":82,"alt_workout_type":"Offset carry","alt_weight":12.0,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":"low","date":"29/01/25 Wednesday","sets":[{"id":11,"sets":1,"reps":2,"alt_sets":1,"alt_reps":2,"strength_id":8,"created_at":"2025-01-29T06:37:58.000000Z","updated_at":"2025-01-29T06:37:58.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-29 06:50:38] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-01-29 06:50:38] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 06:50:38] local.INFO: Strength records fetched: 1  
[2025-01-29 06:50:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":10.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":6,"alt_category_name":"Carry/Oly","alt_workout_id":82,"alt_workout_type":"Offset carry","alt_weight":12.0,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":"low","date":"29/01/25 Wednesday","sets":[{"id":11,"sets":1,"reps":2,"alt_sets":1,"alt_reps":2,"strength_id":8,"created_at":"2025-01-29T06:37:58.000000Z","updated_at":"2025-01-29T06:37:58.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-29 06:50:56] local.INFO: Received request data: {"_token":"uOPpyQmAqwIkXUwxswncrEzgVbtyYRYOUmVw7yQl","selectdates":"29/01/25 Wednesday","selecttabs":"strength","categorys_1":"4","workouts_1":"60","weigths_1":"20","sets_1":"1","reps_1":"1","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-01-29 06:50:56] local.ERROR: Undefined array key "intensitys" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"intensitys\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:69)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 69)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(69): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 69)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-01-29 06:51:04] local.INFO: Received request data: {"_token":"uOPpyQmAqwIkXUwxswncrEzgVbtyYRYOUmVw7yQl","selectdates":"29/01/25 Wednesday","selecttabs":"strength","categorys_1":"4","workouts_1":"60","weigths_1":"20","sets_1":"1","reps_1":"1","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-01-29 06:51:04] local.ERROR: Undefined array key "intensitys" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"intensitys\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:69)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 69)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(69): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 69)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(795): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(767): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '29/01/25 Wednes...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-01-29 08:16:15] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-01-29 08:16:17] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 08:16:17] local.INFO: Strength records fetched: 1  
[2025-01-29 08:16:17] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":10.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":6,"alt_category_name":"Carry/Oly","alt_workout_id":82,"alt_workout_type":"Offset carry","alt_weight":12.0,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":"low","date":"29/01/25 Wednesday","sets":[{"id":11,"sets":1,"reps":2,"alt_sets":1,"alt_reps":2,"strength_id":8,"created_at":"2025-01-29T06:37:58.000000Z","updated_at":"2025-01-29T06:37:58.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-29 08:16:33] local.INFO: Received request data: {"_token":"uOPpyQmAqwIkXUwxswncrEzgVbtyYRYOUmVw7yQl","selectdates":"29/01/25 Wednesday","selecttabs":"strength","categorys_1":"4","workouts_1":"61","weigths_1":"11","sets_1":"1","reps_1":"1","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-01-29 08:16:35] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 08:16:35] local.INFO: Strength records fetched: 2  
[2025-01-29 08:16:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":10.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":6,"alt_category_name":"Carry/Oly","alt_workout_id":82,"alt_workout_type":"Offset carry","alt_weight":12.0,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":"low","date":"29/01/25 Wednesday","sets":[{"id":11,"sets":1,"reps":2,"alt_sets":1,"alt_reps":2,"strength_id":8,"created_at":"2025-01-29T06:37:58.000000Z","updated_at":"2025-01-29T06:37:58.000000Z"}]},{"id":9,"category_id":4,"category_name":"Squat","workout_id":61,"workout_type":"Overhead squat","weight":11.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":null,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"29/01/25 Wednesday","sets":[{"id":12,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":9,"created_at":"2025-01-29T08:16:33.000000Z","updated_at":"2025-01-29T08:16:33.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-29 08:16:57] local.INFO: Incoming Weightlifting Request Data:  {"_token":"uOPpyQmAqwIkXUwxswncrEzgVbtyYRYOUmVw7yQl","selectdatewe":"29/01/25 Wednesday","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"12","setswe_1":"1","repswe_1":"1","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","alt-weigthwe_1":null,"alt-setswe_1":null,"alt-repswe_1":null,"alt-restredwe_1":"04:00","alt-restyellowwe_1":"04:00","alt-restgreenwe_1":"04:00"} 
[2025-01-29 08:16:57] local.INFO: message for weightlifting data {"category":"5","workout":"117","weigth":"12","restred":"04:00","restgreen":"04:00","restyellow":"04:00","alt-restred":"04:00","alt-restyellow":"04:00","alt-restgreen":"04:00","date":"29/01/25 Wednesday"} 
[2025-01-29 08:17:20] local.INFO: Updated all Conditioning records with date {"date":"29/01/25 Wednesday","rounds":"1","amrap":false} 
[2025-01-29 08:21:16] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 08:21:16] local.INFO: Strength records fetched: 2  
[2025-01-29 08:21:16] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":10.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":6,"alt_category_name":"Carry/Oly","alt_workout_id":82,"alt_workout_type":"Offset carry","alt_weight":12.0,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":"low","date":"29/01/25 Wednesday","sets":[{"id":11,"sets":1,"reps":2,"alt_sets":1,"alt_reps":2,"strength_id":8,"created_at":"2025-01-29T06:37:58.000000Z","updated_at":"2025-01-29T06:37:58.000000Z"}]},{"id":9,"category_id":4,"category_name":"Squat","workout_id":61,"workout_type":"Overhead squat","weight":11.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":null,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"29/01/25 Wednesday","sets":[{"id":12,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":9,"created_at":"2025-01-29T08:16:33.000000Z","updated_at":"2025-01-29T08:16:33.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-01-29 08:22:43] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-01-29 08:28:55] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-01-29 08:28:58] local.INFO: Received date: 29/01/25 Wednesday  
[2025-01-29 08:28:58] local.INFO: Test records fetched: 0  
[2025-01-29 08:28:58] local.INFO: Test records fetched: []  
[2025-01-29 08:28:58] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-03-01 00:32:19] local.ERROR: Not enough data available to satisfy format {"exception":"[object] (Carbon\\Exceptions\\InvalidFormatException(code: 0): Not enough data available to satisfy format at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:690)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(713): Carbon\\Carbon::rawCreateFromFormat('d/m/Y', NULL, NULL)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(79): Carbon\\Carbon::createFromFormat('d/m/Y', NULL)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-03-12 14:12:59] local.INFO: getData function called.  
[2025-03-12 14:13:00] local.INFO: Date received: 12/03/25 Wednesday  
[2025-03-12 14:13:00] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-03-12 14:13:00] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0}}} 
[2025-03-12 14:13:00] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-03-12 14:13:00] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-03-12 14:13:00] local.INFO: All Details:  
[2025-03-12 14:13:00] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-03-12 15:02:31] local.INFO: getData function called.  
[2025-03-12 15:02:31] local.INFO: Date received: 12/03/25 Wednesday  
[2025-03-12 15:02:31] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-03-12 15:02:31] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0}}} 
[2025-03-12 15:02:31] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-03-12 15:02:31] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-03-12 15:02:31] local.INFO: All Details:  
[2025-03-12 15:02:31] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-03-12 19:58:56] local.INFO: getData function called.  
[2025-03-12 19:58:56] local.INFO: Date received: 13/03/25 Thursday  
[2025-03-12 19:58:56] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-03-12 19:58:56] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0}}} 
[2025-03-12 19:58:56] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-03-12 19:58:56] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-03-12 19:58:56] local.INFO: All Details:  
[2025-03-12 19:58:56] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-04-07 04:46:02] local.INFO: getData function called.  
[2025-04-07 04:46:03] local.INFO: Date received: 07/04/25 Monday  
[2025-04-07 04:46:03] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-04-07 04:46:03] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0}}} 
[2025-04-07 04:46:03] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-04-07 04:46:03] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-04-07 04:46:03] local.INFO: All Details:  
[2025-04-07 04:46:03] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-04-07 04:46:09] local.INFO: getData function called.  
[2025-04-07 04:46:09] local.INFO: Date received: 07/04/25 Monday  
[2025-04-07 04:46:09] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-04-07 04:46:09] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0}}} 
[2025-04-07 04:46:09] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-04-07 04:46:09] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-04-07 04:46:09] local.INFO: All Details:  
[2025-04-07 04:46:09] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-04-07 08:31:18] local.INFO: getData function called.  
[2025-04-07 08:31:18] local.INFO: Date received: 07/04/25 Monday  
[2025-04-07 08:31:18] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-04-07 08:31:18] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0}}} 
[2025-04-07 08:31:18] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-04-07 08:31:18] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-04-07 08:31:18] local.INFO: All Details:  
[2025-04-07 08:31:18] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-04-07 08:31:46] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 08:31:48] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:31:48] local.INFO: Strength records fetched: 0  
[2025-04-07 08:31:48] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 08:33:06] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 08:33:21] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:33:21] local.INFO: Strength records fetched: 0  
[2025-04-07 08:33:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 08:36:01] local.INFO: Updated all Conditioning records with date {"date":"07/04/25 Monday","rounds":"3","amrap":false} 
[2025-04-07 08:36:01] local.INFO: Updated all Conditioning records with date {"date":"07/04/25 Monday","rounds":"3","amrap":false} 
[2025-04-07 08:38:00] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:38:00] local.INFO: Test records fetched: 0  
[2025-04-07 08:38:00] local.INFO: Test records fetched: []  
[2025-04-07 08:38:00] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-04-07 08:39:11] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 08:39:12] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:39:12] local.INFO: Test records fetched: 0  
[2025-04-07 08:39:12] local.INFO: Test records fetched: []  
[2025-04-07 08:39:12] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[]}} 
[2025-04-07 08:39:47] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:39:47] local.INFO: Strength records fetched: 0  
[2025-04-07 08:39:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 08:39:51] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:39:51] local.INFO: Strength records fetched: 0  
[2025-04-07 08:39:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 08:41:18] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 08:42:43] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:42:43] local.INFO: Strength records fetched: 0  
[2025-04-07 08:42:43] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 08:43:03] local.INFO: Received request data: {"_token":"NHDKcMMzwdTCvV7y1a2GAAViWTfBBGMKeoJstEKv","selectdates":"07/04/25 Monday","selecttabs":"strength","categorys_1":"5","workouts_1":"72","weigths_1":"80","sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","intensitys_1":"low","alt-categorys_1":"3","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-04-07 08:43:04] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:43:04] local.INFO: Strength records fetched: 1  
[2025-04-07 08:43:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":10,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":3,"alt_category_name":"Vertical pull","alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"07/04/25 Monday","sets":[{"id":13,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"},{"id":14,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 08:45:54] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 08:51:09] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:51:09] local.INFO: Strength records fetched: 1  
[2025-04-07 08:51:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":10,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":3,"alt_category_name":"Vertical pull","alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"07/04/25 Monday","sets":[{"id":13,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"},{"id":14,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 08:55:51] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:55:51] local.INFO: Strength records fetched: 1  
[2025-04-07 08:55:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":10,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":3,"alt_category_name":"Vertical pull","alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"07/04/25 Monday","sets":[{"id":13,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"},{"id":14,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 08:56:47] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:56:47] local.INFO: Test records fetched: 0  
[2025-04-07 08:56:47] local.INFO: Test records fetched: []  
[2025-04-07 08:56:47] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[]}} 
[2025-04-07 08:56:52] local.INFO: Received date:   
[2025-04-07 08:56:52] local.INFO: Test records fetched: 0  
[2025-04-07 08:56:52] local.INFO: Test records fetched: []  
[2025-04-07 08:56:52] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[]}} 
[2025-04-07 08:56:52] local.INFO: Received date: 08/04/25 Tuesday  
[2025-04-07 08:56:52] local.INFO: Test records fetched: 0  
[2025-04-07 08:56:52] local.INFO: Test records fetched: []  
[2025-04-07 08:56:52] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[]}} 
[2025-04-07 08:56:52] local.INFO: Received date:   
[2025-04-07 08:56:52] local.INFO: Test records fetched: 0  
[2025-04-07 08:56:52] local.INFO: Test records fetched: []  
[2025-04-07 08:56:52] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[]}} 
[2025-04-07 08:57:53] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 08:57:54] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:57:54] local.INFO: Test records fetched: 0  
[2025-04-07 08:57:54] local.INFO: Test records fetched: []  
[2025-04-07 08:57:54] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-04-07 08:58:54] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 08:58:54] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 08:58:54] local.INFO: Test records fetched: 0  
[2025-04-07 08:58:54] local.INFO: Test records fetched: []  
[2025-04-07 08:58:54] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-04-07 09:01:11] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 09:01:14] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 09:01:14] local.INFO: Strength records fetched: 1  
[2025-04-07 09:01:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":10,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":3,"alt_category_name":"Vertical pull","alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"07/04/25 Monday","sets":[{"id":13,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"},{"id":14,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 09:06:01] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 09:07:11] local.INFO: getData function called.  
[2025-04-07 09:07:11] local.INFO: Date received: 07/04/25 Monday  
[2025-04-07 09:07:11] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-04-07 09:07:11] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0}}} 
[2025-04-07 09:07:11] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-04-07 09:07:11] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-04-07 09:07:11] local.INFO: All Details:  
[2025-04-07 09:07:11] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-04-07 09:07:32] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 09:07:32] local.INFO: Test records fetched: 0  
[2025-04-07 09:07:32] local.INFO: Test records fetched: []  
[2025-04-07 09:07:32] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-04-07 09:07:39] local.INFO: getData function called.  
[2025-04-07 09:07:39] local.INFO: Date received: 07/04/25 Monday  
[2025-04-07 09:07:39] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-04-07 09:07:39] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0}}} 
[2025-04-07 09:07:39] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-04-07 09:07:39] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-04-07 09:07:39] local.INFO: All Details:  
[2025-04-07 09:07:39] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-04-07 09:08:12] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"client","lastname":"client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"2","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2024-09-02T06:29:06.000000Z","startdate":null,"is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 09:12:27] local.INFO: Image paths before update:   
[2025-04-07 09:12:27] local.INFO: Profile data after update:  {"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03 00:00:00","gender":"Male","age":"31","phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":"120","weight":"70","bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07 00:00:00","is_subsactive":"0"} 
[2025-04-07 09:12:47] local.INFO: getData function called.  
[2025-04-07 09:12:47] local.INFO: Date received: 07/04/25 Monday  
[2025-04-07 09:12:47] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-04-07 09:12:47] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-04-07 09:12:47] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-04-07 09:12:47] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-04-07 09:12:47] local.INFO: All Details:  
[2025-04-07 09:12:47] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-04-07 09:15:34] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 09:33:08] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 09:33:08] local.INFO: Test records fetched: 0  
[2025-04-07 09:33:08] local.INFO: Test records fetched: []  
[2025-04-07 09:33:08] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-04-07 09:34:20] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 09:34:22] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 09:34:22] local.INFO: Test records fetched: 0  
[2025-04-07 09:34:22] local.INFO: Test records fetched: []  
[2025-04-07 09:34:22] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-04-07 09:34:29] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 09:34:29] local.INFO: Test records fetched: 0  
[2025-04-07 09:34:29] local.INFO: Test records fetched: []  
[2025-04-07 09:34:29] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-04-07 09:34:42] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 09:34:42] local.INFO: Test records fetched: 1  
[2025-04-07 09:34:42] local.INFO: Test records fetched: [{"id":1,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":2,"member_name":null}]  
[2025-04-07 09:34:42] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":1,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":2,"member_name":null}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-04-07 09:35:23] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 09:35:23] local.INFO: Strength records fetched: 1  
[2025-04-07 09:35:23] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":10,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":3,"alt_category_name":"Vertical pull","alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"07/04/25 Monday","sets":[{"id":13,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"},{"id":14,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 09:35:36] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 09:35:36] local.INFO: Strength records fetched: 1  
[2025-04-07 09:35:36] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":10,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":3,"alt_category_name":"Vertical pull","alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"07/04/25 Monday","sets":[{"id":13,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"},{"id":14,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 09:36:52] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 09:36:52] local.INFO: Strength records fetched: 1  
[2025-04-07 09:36:52] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":10,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":3,"alt_category_name":"Vertical pull","alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"07/04/25 Monday","sets":[{"id":13,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"},{"id":14,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 09:37:24] local.INFO: Received date: 07/04/25 Monday  
[2025-04-07 09:37:24] local.INFO: Strength records fetched: 1  
[2025-04-07 09:37:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":10,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":3,"alt_category_name":"Vertical pull","alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"07/04/25 Monday","sets":[{"id":13,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"},{"id":14,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-07 09:40:00] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-07 09:41:15] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-08 09:10:27] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-08 09:10:43] local.INFO: Incoming Weightlifting Request Data:  {"_token":"UdGysfCCebnKTtWix5Al7Tm6D0gXPUkTKwA8duh3","selectdatewe":"08/04/25 Tuesday","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"10","setswe_1":"1","repswe_1":"1","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low","alt-weigthwe_1":null,"alt-setswe_1":null,"alt-repswe_1":null,"alt-restredwe_1":"04:00","alt-restyellowwe_1":"04:00","alt-restgreenwe_1":"04:00"} 
[2025-04-08 09:10:43] local.INFO: message for weightlifting data {"category":"5","workout":"117","weigth":"10","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"low","alt-restred":"04:00","alt-restyellow":"04:00","alt-restgreen":"04:00","date":"08/04/25 Tuesday"} 
[2025-04-08 09:11:00] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-08 09:49:14] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-08 09:49:50] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-08 09:50:47] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-09 01:28:08] local.INFO: Received Request Data: {"strength_id":"10","reps":"5","weight":"24.00","type":"Primary","_token":"WwIyC5UtsZM67XWGaqkVNl7XSNwsRWiYbUM5KVDz"} 
[2025-04-09 01:28:08] local.INFO: Validated Data: {"strength_id":"10","type":"Primary","reps":"5","weight":"24.00"} 
[2025-04-09 01:28:08] local.INFO: Stored day from session: 07/04/2025  
[2025-04-09 01:28:08] local.INFO: Formatted date: 2025-04-07 01:28:08  
[2025-04-09 01:28:08] local.INFO: Formatted Date: {"date":"07/04/25"} 
[2025-04-09 01:28:08] local.INFO: Weight Value: {"weight":24.0} 
[2025-04-09 01:28:08] local.INFO: Created New DailyStrength Record: {"user_id":2,"strength_id":"10","date":"07/04/25 Monday","weight":24.0,"type":"Primary","created_data":{"strength_id":"10","type":"Primary","reps":"5","weight":24.0}} 
[2025-04-09 01:30:29] local.INFO: Received Request Data: {"strength_id":"10","reps":"5","weight":"24.00","type":"Primary","_token":"WwIyC5UtsZM67XWGaqkVNl7XSNwsRWiYbUM5KVDz"} 
[2025-04-09 01:30:29] local.INFO: Validated Data: {"strength_id":"10","type":"Primary","reps":"5","weight":"24.00"} 
[2025-04-09 01:30:29] local.INFO: Stored day from session: 07/04/2025  
[2025-04-09 01:30:29] local.INFO: Formatted date: 2025-04-07 01:30:29  
[2025-04-09 01:30:29] local.INFO: Formatted Date: {"date":"07/04/25"} 
[2025-04-09 01:30:29] local.INFO: Weight Value: {"weight":24.0} 
[2025-04-09 01:30:29] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"10","date":"07/04/25 Monday","weight":24.0,"type":"Primary","updated_data":{"strength_id":"10","type":"Primary","reps":"5","weight":24.0}} 
[2025-04-09 01:32:15] local.INFO: Received Request Data: {"strength_id":"10","reps":"5","weight":"80.00","type":"Primary","_token":"WwIyC5UtsZM67XWGaqkVNl7XSNwsRWiYbUM5KVDz"} 
[2025-04-09 01:32:15] local.INFO: Validated Data: {"strength_id":"10","type":"Primary","reps":"5","weight":"80.00"} 
[2025-04-09 01:32:15] local.INFO: Stored day from session: 07/04/2025  
[2025-04-09 01:32:15] local.INFO: Formatted date: 2025-04-07 01:32:15  
[2025-04-09 01:32:15] local.INFO: Formatted Date: {"date":"07/04/25"} 
[2025-04-09 01:32:15] local.INFO: Weight Value: {"weight":80.0} 
[2025-04-09 01:32:15] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"10","date":"07/04/25 Monday","weight":80.0,"type":"Primary","updated_data":{"strength_id":"10","type":"Primary","reps":"5","weight":80.0}} 
[2025-04-09 01:32:51] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-09 01:32:53] local.INFO: Received date: 09/04/25 Wednesday  
[2025-04-09 01:32:53] local.INFO: Strength records fetched: 0  
[2025-04-09 01:32:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-09 01:35:26] local.INFO: Received date: 07/04/25 Monday  
[2025-04-09 01:35:26] local.INFO: Strength records fetched: 1  
[2025-04-09 01:35:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":10,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":3,"alt_category_name":"Vertical pull","alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"07/04/25 Monday","sets":[{"id":13,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"},{"id":14,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":10,"created_at":"2025-04-07T08:43:03.000000Z","updated_at":"2025-04-07T08:43:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-09 01:36:03] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-09 02:20:08] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-09 02:27:59] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-09 02:28:00] local.INFO: return Weightlifting Request Data:   
[2025-04-09 02:29:53] local.INFO: return Weightlifting Request Data:   
[2025-04-09 02:29:53] local.INFO: Received date: 09/04/25 Wednesday  
[2025-04-09 02:29:53] local.INFO: Strength records fetched: 0  
[2025-04-09 02:29:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-09 02:29:55] local.INFO: return Weightlifting Request Data:   
[2025-04-09 03:06:19] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-09 03:08:05] local.INFO: Received date: 09/04/25 Wednesday  
[2025-04-09 03:08:05] local.INFO: Strength records fetched: 0  
[2025-04-09 03:08:05] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-09 03:09:22] local.INFO: Received request data: {"_token":"tcHRaN30WUvWlBd5yQVmCRCalplDzDxtdeOvxh2q","selectdates":"09/04/25 Wednesday","selecttabs":"strength","categorys_1":"5","workouts_1":"77","weigths_1":"80","sets_1":"4","reps_1":"4","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-04-09 03:09:24] local.INFO: Received date: 09/04/25 Wednesday  
[2025-04-09 03:09:24] local.INFO: Strength records fetched: 1  
[2025-04-09 03:09:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":11,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":null,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"09/04/25 Wednesday","sets":[{"id":15,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":11,"created_at":"2025-04-09T03:09:22.000000Z","updated_at":"2025-04-09T03:09:22.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-04-10 09:55:50] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-10 09:55:51] local.INFO: return Weightlifting Request Data:   
[2025-04-10 09:56:17] local.INFO: Incoming Weightlifting Request Data:  {"_token":"rQHoeONgXKFmuE8ea3rXNDKrH3ziLS8VrMNl7nZZ","selectdatewe":"10/04/25 Thursday","namewe_1":"test1","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"1","setswe_1":"1","repswe_1":"1","setswe_12":"1","repswe_12":"1","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low","alt-namewe_1":null,"alt-weigthwe_1":null,"alt-setswe_1":null,"alt-repswe_1":null,"alt-restredwe_1":"04:00","alt-restyellowwe_1":"04:00","alt-restgreenwe_1":"04:00"} 
[2025-04-10 09:56:17] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test1","weigth":"1","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"low","alt-restred":"04:00","alt-restyellow":"04:00","alt-restgreen":"04:00","date":"10/04/25 Thursday"} 
[2025-04-10 09:56:20] local.INFO: Incoming Weightlifting Request Data:  {"_token":"rQHoeONgXKFmuE8ea3rXNDKrH3ziLS8VrMNl7nZZ","selectdatewe":"10/04/25 Thursday","namewe_1":"test1","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"1","setswe_1":"1","repswe_1":"1","setswe_12":"1","repswe_12":"1","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low","alt-namewe_1":null,"alt-weigthwe_1":null,"alt-setswe_1":null,"alt-repswe_1":null,"alt-restredwe_1":"04:00","alt-restyellowwe_1":"04:00","alt-restgreenwe_1":"04:00"} 
[2025-04-10 09:56:20] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test1","weigth":"1","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"low","alt-restred":"04:00","alt-restyellow":"04:00","alt-restgreen":"04:00","date":"10/04/25 Thursday"} 
[2025-04-10 09:56:21] local.INFO: Incoming Weightlifting Request Data:  {"_token":"rQHoeONgXKFmuE8ea3rXNDKrH3ziLS8VrMNl7nZZ","selectdatewe":"10/04/25 Thursday","namewe_1":"test1","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"1","setswe_1":"1","repswe_1":"1","setswe_12":"1","repswe_12":"1","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low","alt-namewe_1":null,"alt-weigthwe_1":null,"alt-setswe_1":null,"alt-repswe_1":null,"alt-restredwe_1":"04:00","alt-restyellowwe_1":"04:00","alt-restgreenwe_1":"04:00"} 
[2025-04-10 09:56:21] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test1","weigth":"1","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"low","alt-restred":"04:00","alt-restyellow":"04:00","alt-restgreen":"04:00","date":"10/04/25 Thursday"} 
[2025-04-10 09:56:22] local.INFO: Incoming Weightlifting Request Data:  {"_token":"rQHoeONgXKFmuE8ea3rXNDKrH3ziLS8VrMNl7nZZ","selectdatewe":"10/04/25 Thursday","namewe_1":"test1","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"1","setswe_1":"1","repswe_1":"1","setswe_12":"1","repswe_12":"1","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low","alt-namewe_1":null,"alt-weigthwe_1":null,"alt-setswe_1":null,"alt-repswe_1":null,"alt-restredwe_1":"04:00","alt-restyellowwe_1":"04:00","alt-restgreenwe_1":"04:00"} 
[2025-04-10 09:56:22] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test1","weigth":"1","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"low","alt-restred":"04:00","alt-restyellow":"04:00","alt-restgreen":"04:00","date":"10/04/25 Thursday"} 
[2025-04-10 09:56:23] local.INFO: Incoming Weightlifting Request Data:  {"_token":"rQHoeONgXKFmuE8ea3rXNDKrH3ziLS8VrMNl7nZZ","selectdatewe":"10/04/25 Thursday","namewe_1":"test1","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"1","setswe_1":"1","repswe_1":"1","setswe_12":"1","repswe_12":"1","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low","alt-namewe_1":null,"alt-weigthwe_1":null,"alt-setswe_1":null,"alt-repswe_1":null,"alt-restredwe_1":"04:00","alt-restyellowwe_1":"04:00","alt-restgreenwe_1":"04:00"} 
[2025-04-10 09:56:23] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test1","weigth":"1","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"low","alt-restred":"04:00","alt-restyellow":"04:00","alt-restgreen":"04:00","date":"10/04/25 Thursday"} 
[2025-04-10 09:56:23] local.INFO: Incoming Weightlifting Request Data:  {"_token":"rQHoeONgXKFmuE8ea3rXNDKrH3ziLS8VrMNl7nZZ","selectdatewe":"10/04/25 Thursday","namewe_1":"test1","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"1","setswe_1":"1","repswe_1":"1","setswe_12":"1","repswe_12":"1","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low","alt-namewe_1":null,"alt-weigthwe_1":null,"alt-setswe_1":null,"alt-repswe_1":null,"alt-restredwe_1":"04:00","alt-restyellowwe_1":"04:00","alt-restgreenwe_1":"04:00"} 
[2025-04-10 09:56:23] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test1","weigth":"1","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"low","alt-restred":"04:00","alt-restyellow":"04:00","alt-restgreen":"04:00","date":"10/04/25 Thursday"} 
[2025-04-10 09:56:23] local.INFO: Incoming Weightlifting Request Data:  {"_token":"rQHoeONgXKFmuE8ea3rXNDKrH3ziLS8VrMNl7nZZ","selectdatewe":"10/04/25 Thursday","namewe_1":"test1","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"1","setswe_1":"1","repswe_1":"1","setswe_12":"1","repswe_12":"1","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low","alt-namewe_1":null,"alt-weigthwe_1":null,"alt-setswe_1":null,"alt-repswe_1":null,"alt-restredwe_1":"04:00","alt-restyellowwe_1":"04:00","alt-restgreenwe_1":"04:00"} 
[2025-04-10 09:56:23] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test1","weigth":"1","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"low","alt-restred":"04:00","alt-restyellow":"04:00","alt-restgreen":"04:00","date":"10/04/25 Thursday"} 
[2025-04-10 09:56:23] local.INFO: Incoming Weightlifting Request Data:  {"_token":"rQHoeONgXKFmuE8ea3rXNDKrH3ziLS8VrMNl7nZZ","selectdatewe":"10/04/25 Thursday","namewe_1":"test1","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"1","setswe_1":"1","repswe_1":"1","setswe_12":"1","repswe_12":"1","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low","alt-namewe_1":null,"alt-weigthwe_1":null,"alt-setswe_1":null,"alt-repswe_1":null,"alt-restredwe_1":"04:00","alt-restyellowwe_1":"04:00","alt-restgreenwe_1":"04:00"} 
[2025-04-10 09:56:23] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test1","weigth":"1","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"low","alt-restred":"04:00","alt-restyellow":"04:00","alt-restgreen":"04:00","date":"10/04/25 Thursday"} 
[2025-04-10 09:56:34] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-10 09:56:34] local.INFO: return Weightlifting Request Data:   
[2025-04-11 00:27:06] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-04-11 00:34:02] local.INFO: Received date: 11/04/25 Friday  
[2025-04-11 00:34:02] local.INFO: Strength records fetched: 0  
[2025-04-11 00:34:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-05-27 04:39:29] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-05-27 04:39:30] local.INFO: Received date: 27/05/25 Tuesday  
[2025-05-27 04:39:30] local.INFO: Strength records fetched: 0  
[2025-05-27 04:39:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-05-27 06:16:49] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-05-27 06:16:49] local.INFO: Received date: 27/05/25 Tuesday  
[2025-05-27 06:16:49] local.INFO: Strength records fetched: 0  
[2025-05-27 06:16:49] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-05-27 10:30:31] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-05-27 10:30:32] local.INFO: Received date: 27/05/25 Tuesday  
[2025-05-27 10:30:32] local.INFO: Strength records fetched: 0  
[2025-05-27 10:30:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-05-27 10:30:42] local.INFO: Received request data: {"_token":"1Mo5PVgdbnwdJzDnObzAlSSujAjl1YH9pcJrllX4","selectdates":"27/05/25 Tuesday","selecttabs":"strength","categorys_1":"5","workouts_1":"72","weigths_1":"10","sets_1":"2","reps_1":"2","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","intensitys_1":"low","alt-weigths_1":null,"alt-sets_1":null,"alt-reps_1":null,"alt-restreds_1":"04:00","alt-restyellows_1":"04:00","alt-restgreens_1":"04:00"} 
[2025-05-27 10:30:44] local.INFO: Received date: 27/05/25 Tuesday  
[2025-05-27 10:30:44] local.INFO: Strength records fetched: 1  
[2025-05-27 10:30:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":12,"category_id":5,"category_name":"Hinge","workout_id":72,"workout_type":"Romanian Deadlift","weight":10.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"04:00:00","alt_restgreen":"04:00:00","alt_intensity":null,"date":"27/05/25 Tuesday","sets":[{"id":16,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":12,"created_at":"2025-05-27T10:30:42.000000Z","updated_at":"2025-05-27T10:30:42.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-06-09 04:37:06] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-06-09 04:37:06] local.INFO: return Weightlifting Request Data:   
[2025-06-20 07:23:24] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-06-20 07:23:26] local.INFO: Received date: 20/06/25 Friday  
[2025-06-20 07:23:26] local.INFO: Strength records fetched: 0  
[2025-06-20 07:23:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-06-20 07:23:27] local.INFO: return Weightlifting Request Data:   
[2025-06-20 07:23:29] local.INFO: Received date: 20/06/25 Friday  
[2025-06-20 07:23:29] local.INFO: Test records fetched: 0  
[2025-06-20 07:23:29] local.INFO: Test records fetched: []  
[2025-06-20 07:23:29] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-06-20 07:23:29] local.INFO: Received date: 20/06/25 Friday  
[2025-06-20 07:23:29] local.INFO: Strength records fetched: 0  
[2025-06-20 07:23:29] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-06-30 11:24:06] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-06-30 11:25:00] local.INFO: Received date: 30/06/25 Monday  
[2025-06-30 11:25:00] local.INFO: Strength records fetched: 0  
[2025-06-30 11:25:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-06-30 11:25:04] local.INFO: return Weightlifting Request Data:   
[2025-06-30 11:25:18] local.INFO: Received date: 30/06/25 Monday  
[2025-06-30 11:25:18] local.INFO: Strength records fetched: 0  
[2025-06-30 11:25:18] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-01 11:08:10] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-01 11:08:11] local.INFO: Received date: 01/07/25 Tuesday  
[2025-07-01 11:08:12] local.INFO: Strength records fetched: 0  
[2025-07-01 11:08:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-01 11:08:16] local.INFO: return Weightlifting Request Data:   
[2025-07-01 11:08:20] local.INFO: Received date: 01/07/25 Tuesday  
[2025-07-01 11:08:20] local.INFO: Test records fetched: 0  
[2025-07-01 11:08:20] local.INFO: Test records fetched: []  
[2025-07-01 11:08:20] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-07-01 11:08:20] local.INFO: return Weightlifting Request Data:   
[2025-07-01 11:08:21] local.INFO: return Weightlifting Request Data:   
[2025-07-01 11:08:25] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-01 11:08:26] local.INFO: return Weightlifting Request Data:   
[2025-07-01 12:48:38] local.INFO: Day received: {"day":"01/07/25 Tuesday"} 
[2025-07-01 12:48:38] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-01 12:48:38] local.INFO: Day received: {"day":"01/07/25 Tuesday"} 
[2025-07-01 12:48:40] local.INFO: return Weightlifting Request Data:   
[2025-07-01 12:48:40] local.INFO: Day received: {"day":"01/07/25 Tuesday"} 
[2025-07-01 12:48:43] local.INFO: Day received: {"day":"01/07/25 Tuesday"} 
[2025-07-04 07:15:16] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:15:16] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-04 07:15:16] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:19:39] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:19:39] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:19:39] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-04 07:19:43] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 07:19:43] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:19:43] local.INFO: Strength records fetched: 0  
[2025-07-04 07:19:43] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-04 07:20:14] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:20:14] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:20:14] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-04 07:20:31] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:20:32] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:20:32] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-04 07:20:43] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:20:43] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-04 07:20:44] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:21:06] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 07:21:06] local.INFO: Strength records fetched: 0  
[2025-07-04 07:21:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-04 07:21:06] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:21:06] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:21:08] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:21:08] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 07:21:08] local.INFO: Strength records fetched: 0  
[2025-07-04 07:21:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-04 07:21:09] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:21:10] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 07:21:10] local.INFO: Strength records fetched: 0  
[2025-07-04 07:21:10] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-04 07:21:10] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:28:24] local.INFO: Received request data: {"_token":"ZZtghGZYqiWX8en6hzDE4rxyGuH2K4a7owG4z11z","selectdates":"04/07/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"categorys_1":"2","workouts_1":"40","weigths_1":"85","sets_1":"1","reps_1":"4","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00"} 
[2025-07-04 07:28:24] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:64)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 64)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(64): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 64)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(888): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(860): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '04/07/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-04 07:28:37] local.INFO: Received request data: {"_token":"ZZtghGZYqiWX8en6hzDE4rxyGuH2K4a7owG4z11z","selectdates":"04/07/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"categorys_1":"2","workouts_1":"40","weigths_1":"85","sets_1":"1","reps_1":"4","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","intensitys_1":"medium"} 
[2025-07-04 07:28:37] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:64)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 64)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(64): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 64)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(888): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(860): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '04/07/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-04 07:54:46] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:54:47] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-04 07:54:47] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:54:50] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 07:54:50] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:54:50] local.INFO: Strength records fetched: 2  
[2025-07-04 07:54:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":13,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":null,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":17,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":13,"created_at":"2025-07-04T07:28:24.000000Z","updated_at":"2025-07-04T07:28:24.000000Z"}]},{"id":14,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"medium","alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":18,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":14,"created_at":"2025-07-04T07:28:37.000000Z","updated_at":"2025-07-04T07:28:37.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-04 07:59:04] local.INFO: return Weightlifting Request Data:   
[2025-07-04 07:59:04] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:59:06] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:59:06] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 07:59:06] local.INFO: Strength records fetched: 2  
[2025-07-04 07:59:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":13,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":null,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":17,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":13,"created_at":"2025-07-04T07:28:24.000000Z","updated_at":"2025-07-04T07:28:24.000000Z"}]},{"id":14,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"medium","alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":18,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":14,"created_at":"2025-07-04T07:28:37.000000Z","updated_at":"2025-07-04T07:28:37.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-04 07:59:07] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:59:07] local.INFO: return Weightlifting Request Data:   
[2025-07-04 07:59:07] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:59:08] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:59:08] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 07:59:08] local.INFO: Test records fetched: 0  
[2025-07-04 07:59:08] local.INFO: Test records fetched: []  
[2025-07-04 07:59:08] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-07-04 07:59:08] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:59:09] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:59:09] local.INFO: return Weightlifting Request Data:   
[2025-07-04 07:59:09] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:59:09] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 07:59:09] local.INFO: Strength records fetched: 2  
[2025-07-04 07:59:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":13,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":null,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":17,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":13,"created_at":"2025-07-04T07:28:24.000000Z","updated_at":"2025-07-04T07:28:24.000000Z"}]},{"id":14,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"medium","alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":18,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":14,"created_at":"2025-07-04T07:28:37.000000Z","updated_at":"2025-07-04T07:28:37.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-04 07:59:09] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:59:10] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 07:59:10] local.INFO: Strength records fetched: 2  
[2025-07-04 07:59:10] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 07:59:10] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":13,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":null,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":17,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":13,"created_at":"2025-07-04T07:28:24.000000Z","updated_at":"2025-07-04T07:28:24.000000Z"}]},{"id":14,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"medium","alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":18,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":14,"created_at":"2025-07-04T07:28:37.000000Z","updated_at":"2025-07-04T07:28:37.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-04 08:01:07] local.INFO: return Weightlifting Request Data:   
[2025-07-04 08:01:07] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 08:01:07] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 08:01:07] local.INFO: Strength records fetched: 2  
[2025-07-04 08:01:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":13,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":null,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":17,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":13,"created_at":"2025-07-04T07:28:24.000000Z","updated_at":"2025-07-04T07:28:24.000000Z"}]},{"id":14,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"medium","alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":18,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":14,"created_at":"2025-07-04T07:28:37.000000Z","updated_at":"2025-07-04T07:28:37.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-04 08:01:07] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 08:05:44] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 08:05:44] local.INFO: Test records fetched: 0  
[2025-07-04 08:05:44] local.INFO: Test records fetched: []  
[2025-07-04 08:05:44] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-07-04 08:05:44] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 08:07:03] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 08:07:03] local.INFO: Strength records fetched: 2  
[2025-07-04 08:07:03] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":13,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":null,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":17,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":13,"created_at":"2025-07-04T07:28:24.000000Z","updated_at":"2025-07-04T07:28:24.000000Z"}]},{"id":14,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"medium","alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":18,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":14,"created_at":"2025-07-04T07:28:37.000000Z","updated_at":"2025-07-04T07:28:37.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-04 08:07:03] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 08:15:16] local.INFO: getData function called.  
[2025-07-04 08:15:16] local.INFO: Date received: 04/07/25 Friday  
[2025-07-04 08:15:16] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":4,"name":"member","user_type":"client","email":"james@jplms.com.au","pin":7153,"created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}}} 
[2025-07-04 08:15:16] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0}}} 
[2025-07-04 08:15:16] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-04 08:15:16] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-07-04 08:15:16] local.INFO: All Details:  
[2025-07-04 08:15:16] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-07-04 08:16:40] local.INFO: getData function called.  
[2025-07-04 08:16:40] local.INFO: Date received: 04/07/25 Friday  
[2025-07-04 08:16:40] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":4,"name":"member","user_type":"client","email":"james@jplms.com.au","pin":7153,"created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}}} 
[2025-07-04 08:16:40] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0}}} 
[2025-07-04 08:16:40] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-04 08:16:40] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-07-04 08:16:40] local.INFO: All Details:  
[2025-07-04 08:16:40] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-07-04 08:16:45] local.INFO: getData function called.  
[2025-07-04 08:16:45] local.INFO: Date received: 04/07/25 Friday  
[2025-07-04 08:16:45] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":4,"name":"member","user_type":"client","email":"james@jplms.com.au","pin":7153,"created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-07-21T18:35:27.000000Z"}}} 
[2025-07-04 08:16:45] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0}}} 
[2025-07-04 08:16:45] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-04 08:16:45] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-07-04 08:16:45] local.INFO: All Details:  
[2025-07-04 08:16:45] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-07-04 08:22:14] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 08:22:15] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-04 08:22:15] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 08:22:15] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 08:22:15] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 08:22:15] local.INFO: Test records fetched: 0  
[2025-07-04 08:22:15] local.INFO: Test records fetched: []  
[2025-07-04 08:22:15] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-07-04 08:22:53] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 08:22:54] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 08:22:54] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 08:22:54] local.INFO: Test records fetched: 0  
[2025-07-04 08:22:54] local.INFO: Test records fetched: []  
[2025-07-04 08:22:54] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-07-04 08:22:54] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 08:22:54] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-04 09:32:11] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 09:32:11] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 09:32:11] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-04 09:32:12] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 09:32:12] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 09:32:12] local.INFO: Strength records fetched: 2  
[2025-07-04 09:32:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":13,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":null,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":17,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":13,"created_at":"2025-07-04T07:28:24.000000Z","updated_at":"2025-07-04T07:28:24.000000Z"}]},{"id":14,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"medium","alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":18,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":14,"created_at":"2025-07-04T07:28:37.000000Z","updated_at":"2025-07-04T07:28:37.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-04 09:32:25] local.INFO: return Weightlifting Request Data:   
[2025-07-04 09:32:25] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-04 09:32:39] local.INFO: Received date: 04/07/25 Friday  
[2025-07-04 09:32:39] local.INFO: Strength records fetched: 2  
[2025-07-04 09:32:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":13,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":null,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":17,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":13,"created_at":"2025-07-04T07:28:24.000000Z","updated_at":"2025-07-04T07:28:24.000000Z"}]},{"id":14,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","weight":85.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"medium","alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/07/25 Friday","sets":[{"id":18,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":14,"created_at":"2025-07-04T07:28:37.000000Z","updated_at":"2025-07-04T07:28:37.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-04 09:32:39] local.INFO: Day received: {"day":"04/07/25 Friday"} 
[2025-07-09 09:19:51] local.INFO: Day received: {"day":"09/07/25 Wednesday"} 
[2025-07-09 09:19:51] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-09 09:19:51] local.INFO: Day received: {"day":"09/07/25 Wednesday"} 
[2025-07-09 09:19:52] local.INFO: Day received: {"day":"09/07/25 Wednesday"} 
[2025-07-09 09:19:52] local.INFO: Received date: 09/07/25 Wednesday  
[2025-07-09 09:19:52] local.INFO: Test records fetched: 0  
[2025-07-09 09:19:52] local.INFO: Test records fetched: []  
[2025-07-09 09:19:52] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}]}} 
[2025-07-09 09:21:21] local.INFO: Day received: {"day":"09/07/25 Wednesday"} 
[2025-07-09 09:21:21] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-09 09:21:22] local.INFO: Received date: 09/07/25 Wednesday  
[2025-07-09 09:21:22] local.INFO: Test records fetched: 0  
[2025-07-09 09:21:22] local.INFO: Test records fetched: []  
[2025-07-09 09:21:22] local.INFO: Day received: {"day":"09/07/25 Wednesday"} 
[2025-07-09 09:21:22] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}]}} 
[2025-07-09 09:21:22] local.INFO: Day received: {"day":"09/07/25 Wednesday"} 
[2025-07-09 09:22:26] local.INFO: Day received: {"day":"09/07/25 Wednesday"} 
[2025-07-09 09:22:27] local.INFO: Received date: 09/07/25 Wednesday  
[2025-07-09 09:22:27] local.INFO: Day received: {"day":"09/07/25 Wednesday"} 
[2025-07-09 09:22:27] local.INFO: Strength records fetched: 0  
[2025-07-09 09:22:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-09 09:22:30] local.INFO: Day received: {"day":"09/07/25 Wednesday"} 
[2025-07-09 09:22:30] local.INFO: return Weightlifting Request Data:   
[2025-07-09 09:22:46] local.INFO: Received date: 09/07/25 Wednesday  
[2025-07-09 09:22:46] local.INFO: Strength records fetched: 0  
[2025-07-09 09:22:46] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-09 09:22:47] local.INFO: Day received: {"day":"09/07/25 Wednesday"} 
[2025-07-10 18:34:00] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:34:00] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:34:00] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-10 18:34:38] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:34:38] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-10 18:34:38] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:34:44] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:34:44] local.INFO: Received date: 11/07/25 Friday  
[2025-07-10 18:34:44] local.INFO: Strength records fetched: 0  
[2025-07-10 18:34:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-10 18:35:12] local.INFO: Received request data: {"_token":"iCmelOtidJwFpFgW169JiAlvHwT4Tnh1iA14KzMp","selectdates":"11/07/25 Friday","selecttabs":"strength","name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"10","sets_1":"1","reps_1":"2","intensitys_1":"high"} 
[2025-07-10 18:35:12] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"10","sets_1":"1","reps_1":"2","intensitys_1":"high"} 
[2025-07-10 18:35:14] local.INFO: Received date: 11/07/25 Friday  
[2025-07-10 18:35:14] local.INFO: Strength records fetched: 1  
[2025-07-10 18:35:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":15,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":10.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":19,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":15,"created_at":"2025-07-10T18:35:12.000000Z","updated_at":"2025-07-10T18:35:12.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-10 18:35:14] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:35:38] local.INFO: assigned weightlifting:  {"_token":"iCmelOtidJwFpFgW169JiAlvHwT4Tnh1iA14KzMp","workout_id":"15","workout_type":"strength","date":"11/07/25 Friday","assigned":"1","class_id":"4"} 
[2025-07-10 18:35:41] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:35:42] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:35:43] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-10 18:35:43] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:35:47] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:35:47] local.INFO: Received date: 11/07/25 Friday  
[2025-07-10 18:35:47] local.INFO: Strength records fetched: 1  
[2025-07-10 18:35:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":15,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":10.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":19,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":15,"created_at":"2025-07-10T18:35:12.000000Z","updated_at":"2025-07-10T18:35:12.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-10 18:35:53] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:35:54] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-10 18:35:54] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:35:55] local.INFO: Received date: 11/07/25 Friday  
[2025-07-10 18:35:55] local.INFO: Strength records fetched: 1  
[2025-07-10 18:35:55] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:35:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":15,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":10.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":19,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":15,"created_at":"2025-07-10T18:35:12.000000Z","updated_at":"2025-07-10T18:35:12.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-10 18:41:59] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:42:00] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-10 18:42:00] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:42:07] local.INFO: Received date: 11/07/25 Friday  
[2025-07-10 18:42:07] local.INFO: Strength records fetched: 1  
[2025-07-10 18:42:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":15,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":10.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":19,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":15,"created_at":"2025-07-10T18:35:12.000000Z","updated_at":"2025-07-10T18:35:12.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-10 18:42:08] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:42:13] local.INFO: return Strength Request Data:  {"_token":"X4S2vBH7VHYm2iB9hoTtPbLcfUkbdqwMEMWfZuJV","date":"11/07/25 Friday","name":"z","category_id":null,"workout_id":null} 
[2025-07-10 18:42:13] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-07-10 18:42:25] local.INFO: return Weightlifting Request Data:   
[2025-07-10 18:42:25] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:42:31] local.INFO: Received date: 11/07/25 Friday  
[2025-07-10 18:42:31] local.INFO: Strength records fetched: 1  
[2025-07-10 18:42:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":15,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":10.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":19,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":15,"created_at":"2025-07-10T18:35:12.000000Z","updated_at":"2025-07-10T18:35:12.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-10 18:42:31] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 18:42:36] local.INFO: return Weightlifting Request Data:   
[2025-07-10 18:42:36] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 19:03:04] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 19:03:05] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 19:03:05] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-10 19:03:07] local.INFO: Received date: 11/07/25 Friday  
[2025-07-10 19:03:07] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-10 19:03:07] local.INFO: Strength records fetched: 1  
[2025-07-10 19:03:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":15,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":10.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":19,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":15,"created_at":"2025-07-10T18:35:12.000000Z","updated_at":"2025-07-10T18:35:12.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:14:14] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:14:14] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 00:14:14] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:16:02] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:16:02] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 00:16:03] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:16:09] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:16:09] local.INFO: Strength records fetched: 1  
[2025-07-11 00:16:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":15,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":10.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":19,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":15,"created_at":"2025-07-10T18:35:12.000000Z","updated_at":"2025-07-10T18:35:12.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:16:09] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:16:59] local.INFO: Received request data: {"_token":"kaGemzH8oSaOvlfupHe9IvRzGgMNnNmKmcLgM44F","selectdates":"11/07/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"names_1":"strength01","categorys_1":"1","weigths_1":"10","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3"} 
[2025-07-11 00:16:59] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","weigths_1":"10","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3"} 
[2025-07-11 00:16:59] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '11/07/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 00:17:45] local.INFO: Received request data: {"_token":"kaGemzH8oSaOvlfupHe9IvRzGgMNnNmKmcLgM44F","selectdates":"11/07/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"10","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3"} 
[2025-07-11 00:17:45] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"10","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3"} 
[2025-07-11 00:17:45] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-07-11 00:17:45] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '11/07/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 00:17:50] local.INFO: Received request data: {"_token":"kaGemzH8oSaOvlfupHe9IvRzGgMNnNmKmcLgM44F","selectdates":"11/07/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"85","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3","intensitys_1":"medium"} 
[2025-07-11 00:17:50] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"85","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3","intensitys_1":"medium"} 
[2025-07-11 00:17:50] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-07-11 00:17:50] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '11/07/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 00:17:51] local.INFO: Received request data: {"_token":"kaGemzH8oSaOvlfupHe9IvRzGgMNnNmKmcLgM44F","selectdates":"11/07/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"85","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3","intensitys_1":"medium"} 
[2025-07-11 00:17:51] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"85","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3","intensitys_1":"medium"} 
[2025-07-11 00:17:51] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-07-11 00:17:51] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '11/07/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 00:17:51] local.INFO: Received request data: {"_token":"kaGemzH8oSaOvlfupHe9IvRzGgMNnNmKmcLgM44F","selectdates":"11/07/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"85","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3","intensitys_1":"medium"} 
[2025-07-11 00:17:51] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"85","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3","intensitys_1":"medium"} 
[2025-07-11 00:17:51] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-07-11 00:17:51] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '11/07/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 00:17:51] local.INFO: Received request data: {"_token":"kaGemzH8oSaOvlfupHe9IvRzGgMNnNmKmcLgM44F","selectdates":"11/07/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"85","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3","intensitys_1":"medium"} 
[2025-07-11 00:17:51] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"85","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3","intensitys_1":"medium"} 
[2025-07-11 00:17:51] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-07-11 00:17:51] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '11/07/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 00:17:51] local.INFO: Received request data: {"_token":"kaGemzH8oSaOvlfupHe9IvRzGgMNnNmKmcLgM44F","selectdates":"11/07/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"85","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3","intensitys_1":"medium"} 
[2025-07-11 00:17:51] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","weigths_1":"85","sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"3","intensitys_1":"medium"} 
[2025-07-11 00:17:51] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-07-11 00:17:51] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '11/07/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 00:17:55] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:17:56] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 00:17:56] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:17:59] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:17:59] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:17:59] local.INFO: Strength records fetched: 7  
[2025-07-11 00:17:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":15,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":10.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":19,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":15,"created_at":"2025-07-10T18:35:12.000000Z","updated_at":"2025-07-10T18:35:12.000000Z"}]},{"id":16,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":10.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":20,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":16,"created_at":"2025-07-11T00:17:45.000000Z","updated_at":"2025-07-11T00:17:45.000000Z"},{"id":21,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":16,"created_at":"2025-07-11T00:17:45.000000Z","updated_at":"2025-07-11T00:17:45.000000Z"},{"id":22,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":16,"created_at":"2025-07-11T00:17:45.000000Z","updated_at":"2025-07-11T00:17:45.000000Z"}]},{"id":17,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":23,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":17,"created_at":"2025-07-11T00:17:50.000000Z","updated_at":"2025-07-11T00:17:50.000000Z"},{"id":24,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":17,"created_at":"2025-07-11T00:17:50.000000Z","updated_at":"2025-07-11T00:17:50.000000Z"},{"id":25,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":17,"created_at":"2025-07-11T00:17:50.000000Z","updated_at":"2025-07-11T00:17:50.000000Z"}]},{"id":18,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":26,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":27,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":28,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":19,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":29,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":30,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":31,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":20,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":32,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":33,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":34,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":21,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":35,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":36,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":37,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:18:14] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:18:14] local.INFO: Strength records fetched: 6  
[2025-07-11 00:18:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":16,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":10.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":20,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":16,"created_at":"2025-07-11T00:17:45.000000Z","updated_at":"2025-07-11T00:17:45.000000Z"},{"id":21,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":16,"created_at":"2025-07-11T00:17:45.000000Z","updated_at":"2025-07-11T00:17:45.000000Z"},{"id":22,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":16,"created_at":"2025-07-11T00:17:45.000000Z","updated_at":"2025-07-11T00:17:45.000000Z"}]},{"id":17,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":23,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":17,"created_at":"2025-07-11T00:17:50.000000Z","updated_at":"2025-07-11T00:17:50.000000Z"},{"id":24,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":17,"created_at":"2025-07-11T00:17:50.000000Z","updated_at":"2025-07-11T00:17:50.000000Z"},{"id":25,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":17,"created_at":"2025-07-11T00:17:50.000000Z","updated_at":"2025-07-11T00:17:50.000000Z"}]},{"id":18,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":26,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":27,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":28,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":19,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":29,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":30,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":31,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":20,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":32,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":33,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":34,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":21,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":35,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":36,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":37,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:18:19] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:18:19] local.INFO: Strength records fetched: 5  
[2025-07-11 00:18:19] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":17,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":23,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":17,"created_at":"2025-07-11T00:17:50.000000Z","updated_at":"2025-07-11T00:17:50.000000Z"},{"id":24,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":17,"created_at":"2025-07-11T00:17:50.000000Z","updated_at":"2025-07-11T00:17:50.000000Z"},{"id":25,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":17,"created_at":"2025-07-11T00:17:50.000000Z","updated_at":"2025-07-11T00:17:50.000000Z"}]},{"id":18,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":26,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":27,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":28,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":19,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":29,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":30,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":31,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":20,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":32,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":33,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":34,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":21,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":35,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":36,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":37,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:19:08] local.INFO: Received request data: {"_token":"kaGemzH8oSaOvlfupHe9IvRzGgMNnNmKmcLgM44F","selectdates":"11/07/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"names_1":"Upper Body","categorys_1":"1","workouts_1":"27","weigths_1":"85","sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","intensitys_1":"medium"} 
[2025-07-11 00:19:08] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Upper Body","categorys_1":"1","workouts_1":"27","weigths_1":"85","sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","intensitys_1":"medium"} 
[2025-07-11 00:19:08] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-07-11 00:19:08] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '11/07/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 00:20:02] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:20:03] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 00:20:03] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:20:04] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:20:04] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:20:04] local.INFO: Strength records fetched: 6  
[2025-07-11 00:20:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":17,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":23,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":17,"created_at":"2025-07-11T00:17:50.000000Z","updated_at":"2025-07-11T00:17:50.000000Z"},{"id":24,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":17,"created_at":"2025-07-11T00:17:50.000000Z","updated_at":"2025-07-11T00:17:50.000000Z"},{"id":25,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":17,"created_at":"2025-07-11T00:17:50.000000Z","updated_at":"2025-07-11T00:17:50.000000Z"}]},{"id":18,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":26,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":27,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":28,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":19,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":29,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":30,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":31,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":20,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":32,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":33,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":34,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":21,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":35,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":36,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":37,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:20:16] local.INFO: assigned weightlifting:  {"_token":"kaGemzH8oSaOvlfupHe9IvRzGgMNnNmKmcLgM44F","workout_id":"22","workout_type":"strength","date":"11/07/25 Friday","assigned":"1","class_id":"4"} 
[2025-07-11 00:20:18] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:21:08] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:21:08] local.INFO: Strength records fetched: 5  
[2025-07-11 00:21:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":18,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":26,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":27,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":28,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":18,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":19,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":29,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":30,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":31,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":20,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":32,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":33,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":34,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":21,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":35,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":36,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":37,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:21:14] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:21:14] local.INFO: Strength records fetched: 4  
[2025-07-11 00:21:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":19,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":29,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":30,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":31,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":19,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":20,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":32,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":33,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":34,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":21,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":35,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":36,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":37,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:21:19] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:21:19] local.INFO: Strength records fetched: 3  
[2025-07-11 00:21:19] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":20,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":32,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":33,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":34,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":20,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":21,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":35,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":36,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":37,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:21:24] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:21:24] local.INFO: Strength records fetched: 2  
[2025-07-11 00:21:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":21,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":35,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":36,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"},{"id":37,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":21,"created_at":"2025-07-11T00:17:51.000000Z","updated_at":"2025-07-11T00:17:51.000000Z"}]},{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:21:28] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:21:28] local.INFO: Strength records fetched: 1  
[2025-07-11 00:21:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:22:56] local.INFO: return Weightlifting Request Data:   
[2025-07-11 00:22:56] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:22:58] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:23:01] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:23:01] local.INFO: Strength records fetched: 1  
[2025-07-11 00:23:01] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:23:01] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:23:03] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:23:03] local.INFO: return Weightlifting Request Data:   
[2025-07-11 00:23:30] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:23:30] local.INFO: Strength records fetched: 1  
[2025-07-11 00:23:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:23:30] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:25:11] local.INFO: Received Request Data: {"strength_id":"22","reps":"4","weight":"25.50","type":"Primary","_token":"I9XIXmv3sZ56krsT3Ok6W0ymlYW8f8DYgNF9E6K6"} 
[2025-07-11 00:25:11] local.INFO: Validated Data: {"strength_id":"22","type":"Primary","reps":"4","weight":"25.50"} 
[2025-07-11 00:25:11] local.INFO: Stored day from session: 11/07/2025  
[2025-07-11 00:25:11] local.INFO: Formatted date: 2025-07-11 00:25:11  
[2025-07-11 00:25:11] local.INFO: Formatted Date: {"date":"11/07/25"} 
[2025-07-11 00:25:11] local.INFO: Weight Value: {"weight":25.5} 
[2025-07-11 00:25:11] local.INFO: Created New DailyStrength Record: {"user_id":1,"strength_id":"22","date":"11/07/25 Friday","weight":25.5,"type":"Primary","created_data":{"strength_id":"22","type":"Primary","reps":"4","weight":25.5}} 
[2025-07-11 00:26:27] local.INFO: Received request data: {"_token":"kaGemzH8oSaOvlfupHe9IvRzGgMNnNmKmcLgM44F","selectdates":"11/07/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"names_1":"Test","categorys_1":"5","workouts_1":"77","weigths_1":"75","sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","intensitys_1":"medium"} 
[2025-07-11 00:26:27] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test","categorys_1":"5","workouts_1":"77","weigths_1":"75","sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","intensitys_1":"medium"} 
[2025-07-11 00:26:27] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-07-11 00:26:27] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '11/07/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 00:26:45] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:26:46] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 00:26:46] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:26:47] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:26:47] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:26:47] local.INFO: Strength records fetched: 2  
[2025-07-11 00:26:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:27:01] local.INFO: assigned weightlifting:  {"_token":"kaGemzH8oSaOvlfupHe9IvRzGgMNnNmKmcLgM44F","workout_id":"22","workout_type":"strength","date":"11/07/25 Friday","assigned":"0"} 
[2025-07-11 00:27:04] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:27:05] local.INFO: assigned weightlifting:  {"_token":"kaGemzH8oSaOvlfupHe9IvRzGgMNnNmKmcLgM44F","workout_id":"23","workout_type":"strength","date":"11/07/25 Friday","assigned":"1","class_id":"4"} 
[2025-07-11 00:27:07] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:43:19] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:43:19] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:43:19] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 00:43:21] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:43:21] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:43:21] local.INFO: Strength records fetched: 2  
[2025-07-11 00:43:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:43:33] local.INFO: return Weightlifting Request Data:   
[2025-07-11 00:43:33] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:43:43] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:43:43] local.INFO: Strength records fetched: 2  
[2025-07-11 00:43:43] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:43:43] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:43:50] local.INFO: return Weightlifting Request Data:   
[2025-07-11 00:43:50] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:45:24] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:45:24] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 00:45:25] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:45:25] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:45:25] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:45:25] local.INFO: Strength records fetched: 2  
[2025-07-11 00:45:25] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 00:53:33] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:53:33] local.INFO: Test records fetched: 0  
[2025-07-11 00:53:33] local.INFO: Test records fetched: []  
[2025-07-11 00:53:33] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}]}} 
[2025-07-11 00:53:33] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 00:53:51] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 00:53:51] local.INFO: Test records fetched: 1  
[2025-07-11 00:53:51] local.INFO: Test records fetched: [{"id":2,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":1,"member_name":null}]  
[2025-07-11 00:53:51] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":2,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":1,"member_name":null}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}]}} 
[2025-07-11 00:53:51] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:07:31] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:07:32] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:07:32] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 01:07:33] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:07:33] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:07:33] local.INFO: Strength records fetched: 2  
[2025-07-11 01:07:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 01:15:31] local.INFO: Received request data: {"_token":"Xu0DwPZ1h6CmRgEEawUthIq5HJen8mkrUu2fJW84","selectdates":"11/07/25 Friday","selecttabs":"strength","name_1":null,"names_1":"Test2","categorys_1":"1","workouts_1":"32","weigths_1":"12","sets_1":"1","reps_1":"1","intensitys_1":"high"} 
[2025-07-11 01:15:31] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test2","categorys_1":"1","workouts_1":"32","weigths_1":"12","sets_1":"1","reps_1":"1","intensitys_1":"high"} 
[2025-07-11 01:17:18] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:17:18] local.INFO: Strength records fetched: 3  
[2025-07-11 01:17:18] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":24,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"Test2","weight":12.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":43,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":24,"created_at":"2025-07-11T01:15:31.000000Z","updated_at":"2025-07-11T01:15:31.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 01:17:18] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:22:24] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:22:25] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:22:25] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 01:22:26] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:22:26] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:22:26] local.INFO: Strength records fetched: 3  
[2025-07-11 01:22:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":24,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"Test2","weight":12.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":43,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":24,"created_at":"2025-07-11T01:15:31.000000Z","updated_at":"2025-07-11T01:15:31.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 01:22:55] local.INFO: Received request data: {"_token":"txfsfTuVE4To8ZIHl5A0IvC0i5B2HqxWp8lsosUj","selectdates":"11/07/25 Friday","selecttabs":"strength","name_1":null,"names_1":"Test3","categorys_1":"5","workouts_1":"79","weigths_1":"80","sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"2","sets_14":"4","reps_14":"1","intensitys_1":"medium"} 
[2025-07-11 01:22:55] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test3","categorys_1":"5","workouts_1":"79","weigths_1":"80","sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"2","sets_14":"4","reps_14":"1","intensitys_1":"medium"} 
[2025-07-11 01:22:57] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:22:57] local.INFO: Strength records fetched: 4  
[2025-07-11 01:22:57] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":24,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"Test2","weight":12.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":43,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":24,"created_at":"2025-07-11T01:15:31.000000Z","updated_at":"2025-07-11T01:15:31.000000Z"}]},{"id":25,"category_id":5,"category_name":"Hinge","workout_id":79,"workout_type":"Glut bridge","workoutname":"Test3","weight":80.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":44,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":45,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":46,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":47,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 01:22:57] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:24:26] local.INFO: return Strength Request Data:  {"_token":"txfsfTuVE4To8ZIHl5A0IvC0i5B2HqxWp8lsosUj","date":"11/07/25 Friday","name":null,"category_id":"5","workout_id":"79"} 
[2025-07-11 01:24:26] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-07-11 01:24:32] local.INFO: assigned weightlifting:  {"_token":"txfsfTuVE4To8ZIHl5A0IvC0i5B2HqxWp8lsosUj","workout_id":"25","workout_type":"strength","date":"11/07/25 Friday","assigned":"1","class_id":"4"} 
[2025-07-11 01:24:35] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:24:42] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:24:43] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 01:24:43] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:24:44] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:24:44] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:24:44] local.INFO: Strength records fetched: 4  
[2025-07-11 01:24:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":24,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"Test2","weight":12.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":43,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":24,"created_at":"2025-07-11T01:15:31.000000Z","updated_at":"2025-07-11T01:15:31.000000Z"}]},{"id":25,"category_id":5,"category_name":"Hinge","workout_id":79,"workout_type":"Glut bridge","workoutname":"Test3","weight":80.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":44,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":45,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":46,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":47,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 01:25:01] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:25:01] local.INFO: Strength records fetched: 3  
[2025-07-11 01:25:01] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":25,"category_id":5,"category_name":"Hinge","workout_id":79,"workout_type":"Glut bridge","workoutname":"Test3","weight":80.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":44,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":45,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":46,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":47,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 01:25:36] local.INFO: return Weightlifting Request Data:   
[2025-07-11 01:25:36] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:31:03] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:31:03] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:31:03] local.INFO: Strength records fetched: 3  
[2025-07-11 01:31:03] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":25,"category_id":5,"category_name":"Hinge","workout_id":79,"workout_type":"Glut bridge","workoutname":"Test3","weight":80.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":44,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":45,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":46,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":47,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 01:31:14] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:31:14] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 01:31:15] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:31:15] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:31:15] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:31:15] local.INFO: Strength records fetched: 3  
[2025-07-11 01:31:15] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":25,"category_id":5,"category_name":"Hinge","workout_id":79,"workout_type":"Glut bridge","workoutname":"Test3","weight":80.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":44,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":45,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":46,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":47,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 01:31:32] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:31:32] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 01:31:33] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:31:33] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:31:33] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:31:33] local.INFO: Strength records fetched: 3  
[2025-07-11 01:31:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":25,"category_id":5,"category_name":"Hinge","workout_id":79,"workout_type":"Glut bridge","workoutname":"Test3","weight":80.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":44,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":45,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":46,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":47,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 01:31:56] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:31:56] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 01:31:57] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:31:57] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:31:57] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:31:57] local.INFO: Strength records fetched: 3  
[2025-07-11 01:31:57] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":25,"category_id":5,"category_name":"Hinge","workout_id":79,"workout_type":"Glut bridge","workoutname":"Test3","weight":80.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":44,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":45,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":46,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":47,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 01:32:07] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:32:08] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 01:32:08] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:32:09] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:32:09] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:32:09] local.INFO: Strength records fetched: 3  
[2025-07-11 01:32:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":25,"category_id":5,"category_name":"Hinge","workout_id":79,"workout_type":"Glut bridge","workoutname":"Test3","weight":80.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":44,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":45,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":46,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":47,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 01:32:20] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:32:20] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 01:32:20] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:32:21] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:32:21] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:32:21] local.INFO: Strength records fetched: 3  
[2025-07-11 01:32:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":25,"category_id":5,"category_name":"Hinge","workout_id":79,"workout_type":"Glut bridge","workoutname":"Test3","weight":80.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":44,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":45,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":46,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":47,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 01:32:37] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:32:38] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:32:38] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 01:32:39] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 01:32:39] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 01:32:39] local.INFO: Strength records fetched: 3  
[2025-07-11 01:32:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":25,"category_id":5,"category_name":"Hinge","workout_id":79,"workout_type":"Glut bridge","workoutname":"Test3","weight":80.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":44,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":45,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":46,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":47,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 02:27:32] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:27:32] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 02:27:33] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:28:51] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:28:51] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 02:28:51] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:28:53] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:28:53] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 02:28:53] local.INFO: Strength records fetched: 3  
[2025-07-11 02:28:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":25,"category_id":5,"category_name":"Hinge","workout_id":79,"workout_type":"Glut bridge","workoutname":"Test3","weight":80.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":44,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":45,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":46,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"},{"id":47,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":25,"created_at":"2025-07-11T01:22:55.000000Z","updated_at":"2025-07-11T01:22:55.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 02:31:36] local.INFO: return Strength Request Data:  {"_token":"0nngY3XRh3qL0MtFBZaKgMZDKyEhIQBxGYbpoNd4","date":"11/07/25 Friday","name":null,"category_id":"3","workout_id":null} 
[2025-07-11 02:31:36] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-07-11 02:31:41] local.INFO: return Strength Request Data:  {"_token":"0nngY3XRh3qL0MtFBZaKgMZDKyEhIQBxGYbpoNd4","date":"11/07/25 Friday","name":null,"category_id":"5","workout_id":null} 
[2025-07-11 02:31:41] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-07-11 02:31:43] local.INFO: return Strength Request Data:  {"_token":"0nngY3XRh3qL0MtFBZaKgMZDKyEhIQBxGYbpoNd4","date":"11/07/25 Friday","name":null,"category_id":"5","workout_id":null} 
[2025-07-11 02:31:43] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-07-11 02:31:55] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 02:31:55] local.INFO: Strength records fetched: 2  
[2025-07-11 02:31:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 02:32:10] local.INFO: Received request data: {"_token":"0nngY3XRh3qL0MtFBZaKgMZDKyEhIQBxGYbpoNd4","selectdates":"11/07/25 Friday","selecttabs":"strength","categorys_2":"5","name_1":null,"names_1":"Test","categorys_1":"5","workouts_1":"77","weigths_1":"75","sets_1":"1","reps_1":"4","restreds_1":"01:00","restyellows_1":"00:30","restgreens_1":"00:15","intensitys_1":"medium"} 
[2025-07-11 02:32:10] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test","categorys_1":"5","workouts_1":"77","weigths_1":"75","sets_1":"1","reps_1":"4","restreds_1":"01:00","restyellows_1":"00:30","restgreens_1":"00:15","intensitys_1":"medium"} 
[2025-07-11 02:32:10] local.INFO: processedData strenght Request Data:  {"categorys_2":"5"} 
[2025-07-11 02:32:10] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '11/07/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 02:32:24] local.INFO: Received request data: {"_token":"0nngY3XRh3qL0MtFBZaKgMZDKyEhIQBxGYbpoNd4","selectdates":null,"selecttabs":null,"name_1":null,"names_1":"Test","categorys_1":"5","weigths_1":"75","sets_1":"1","reps_1":"4","restreds_1":"00:15","restyellows_1":"00:15","restgreens_1":"00:15","intensitys_1":"medium"} 
[2025-07-11 02:32:24] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test","categorys_1":"5","weigths_1":"75","sets_1":"1","reps_1":"4","restreds_1":"00:15","restyellows_1":"00:15","restgreens_1":"00:15","intensitys_1":"medium"} 
[2025-07-11 02:32:24] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, NULL)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 02:32:26] local.INFO: Received request data: {"_token":"0nngY3XRh3qL0MtFBZaKgMZDKyEhIQBxGYbpoNd4","selectdates":null,"selecttabs":null,"name_1":null,"names_1":"Test","categorys_1":"5","weigths_1":"75","sets_1":"1","reps_1":"4","restreds_1":"00:15","restyellows_1":"00:15","restgreens_1":"00:15","intensitys_1":"medium"} 
[2025-07-11 02:32:26] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test","categorys_1":"5","weigths_1":"75","sets_1":"1","reps_1":"4","restreds_1":"00:15","restyellows_1":"00:15","restgreens_1":"00:15","intensitys_1":"medium"} 
[2025-07-11 02:32:26] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, NULL)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 02:32:26] local.INFO: Received request data: {"_token":"0nngY3XRh3qL0MtFBZaKgMZDKyEhIQBxGYbpoNd4","selectdates":null,"selecttabs":null,"name_1":null,"names_1":"Test","categorys_1":"5","weigths_1":"75","sets_1":"1","reps_1":"4","restreds_1":"00:15","restyellows_1":"00:15","restgreens_1":"00:15","intensitys_1":"medium"} 
[2025-07-11 02:32:26] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test","categorys_1":"5","weigths_1":"75","sets_1":"1","reps_1":"4","restreds_1":"00:15","restyellows_1":"00:15","restgreens_1":"00:15","intensitys_1":"medium"} 
[2025-07-11 02:32:26] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, NULL)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 02:32:26] local.INFO: Received request data: {"_token":"0nngY3XRh3qL0MtFBZaKgMZDKyEhIQBxGYbpoNd4","selectdates":null,"selecttabs":null,"name_1":null,"names_1":"Test","categorys_1":"5","weigths_1":"75","sets_1":"1","reps_1":"4","restreds_1":"00:15","restyellows_1":"00:15","restgreens_1":"00:15","intensitys_1":"medium"} 
[2025-07-11 02:32:26] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test","categorys_1":"5","weigths_1":"75","sets_1":"1","reps_1":"4","restreds_1":"00:15","restyellows_1":"00:15","restgreens_1":"00:15","intensitys_1":"medium"} 
[2025-07-11 02:32:26] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:65)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 65)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(65): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 65)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1017): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(985): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, NULL)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-07-11 02:40:32] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:40:33] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:40:33] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 02:40:38] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:40:38] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:40:38] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 02:40:39] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:40:39] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 02:40:39] local.INFO: Strength records fetched: 3  
[2025-07-11 02:40:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 02:41:12] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:41:12] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 02:41:12] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:41:13] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 02:41:13] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:41:13] local.INFO: Strength records fetched: 3  
[2025-07-11 02:41:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 02:41:37] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:41:37] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 02:41:37] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:41:38] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:41:38] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 02:41:38] local.INFO: Strength records fetched: 3  
[2025-07-11 02:41:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 02:41:48] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:41:48] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 02:41:49] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:41:50] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 02:41:50] local.INFO: Strength records fetched: 3  
[2025-07-11 02:41:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 02:41:51] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:57:03] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:57:03] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 02:57:03] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:57:07] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 02:57:07] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:57:07] local.INFO: Strength records fetched: 3  
[2025-07-11 02:57:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 02:57:32] local.INFO: assigned weightlifting:  {"_token":"rUB1VPeEbTJcFqclmrwwTAfYmsINK63sBwCGbz4l","workout_id":"23","workout_type":"strength","date":"11/07/25 Friday","assigned":"0"} 
[2025-07-11 02:57:34] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:57:38] local.INFO: assigned weightlifting:  {"_token":"rUB1VPeEbTJcFqclmrwwTAfYmsINK63sBwCGbz4l","workout_id":"22","workout_type":"strength","date":"11/07/25 Friday","assigned":"1","class_id":"4"} 
[2025-07-11 02:57:40] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:57:49] local.INFO: Received request data: {"_token":"rUB1VPeEbTJcFqclmrwwTAfYmsINK63sBwCGbz4l","selectdates":"11/07/25 Friday","selecttabs":"strength","name_1":null,"names_1":"Upper Body","categorys_1":"1","workouts_1":"27","weigths_1":"85","sets_1":"1","reps_1":"4","restreds_1":"01:00","restyellows_1":"00:30","restgreens_1":"00:15","intensitys_1":"medium"} 
[2025-07-11 02:57:49] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Upper Body","categorys_1":"1","workouts_1":"27","weigths_1":"85","sets_1":"1","reps_1":"4","restreds_1":"01:00","restyellows_1":"00:30","restgreens_1":"00:15","intensitys_1":"medium"} 
[2025-07-11 02:57:51] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 02:57:51] local.INFO: Strength records fetched: 4  
[2025-07-11 02:57:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 02:57:51] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:57:59] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:57:59] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 02:57:59] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:58:00] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:58:00] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 02:58:00] local.INFO: Strength records fetched: 4  
[2025-07-11 02:58:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 02:58:14] local.INFO: return Strength Request Data:  {"_token":"rUB1VPeEbTJcFqclmrwwTAfYmsINK63sBwCGbz4l","date":"11/07/25 Friday","name":null,"category_id":"1","workout_id":null} 
[2025-07-11 02:58:14] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-07-11 02:58:17] local.INFO: return Strength Request Data:  {"_token":"rUB1VPeEbTJcFqclmrwwTAfYmsINK63sBwCGbz4l","date":"11/07/25 Friday","name":null,"category_id":"1","workout_id":"26"} 
[2025-07-11 02:58:17] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-07-11 02:58:25] local.INFO: Day received: {"day":"10/07/25 Thursday"} 
[2025-07-11 02:58:25] local.INFO: Received date: 10/07/25 Thursday  
[2025-07-11 02:58:25] local.INFO: Strength records fetched: 0  
[2025-07-11 02:58:25] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 02:58:27] local.INFO: Day received: {"day":"10/07/25 Thursday"} 
[2025-07-11 02:58:27] local.INFO: return Weightlifting Request Data:   
[2025-07-11 02:58:28] local.INFO: Received date: 10/07/25 Thursday  
[2025-07-11 02:58:28] local.INFO: Strength records fetched: 0  
[2025-07-11 02:58:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 02:58:28] local.INFO: Day received: {"day":"10/07/25 Thursday"} 
[2025-07-11 02:58:36] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:58:36] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":4,"user_id":8,"firstname":"Sam","lastname":"Sample","dob":"2006-01-28","gender":"Male","age":18,"phone":"0405275022","email":"testing@test.com","address":"24 Warringa Road Frankston","height":187,"weight":100,"bmr":"53.48","primary_goal":"Competitive Weightlifting","subscription_level":"1","image_paths":"[\"profile_images\\/1732751253-TestProfile Image.jpg\"]","created_at":"2024-11-27T23:47:33.000000Z","updated_at":"2024-11-27T23:47:33.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 02:58:37] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:58:38] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 02:58:38] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 02:58:38] local.INFO: Strength records fetched: 4  
[2025-07-11 02:58:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 03:49:07] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 03:49:08] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 03:49:08] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 04:20:59] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 04:21:00] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 04:21:00] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 04:21:00] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 04:21:00] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 04:21:00] local.INFO: Strength records fetched: 4  
[2025-07-11 04:21:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 04:21:56] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 04:21:57] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 04:21:57] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 04:22:16] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 04:22:16] local.INFO: Strength records fetched: 4  
[2025-07-11 04:22:16] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 04:22:16] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 07:29:06] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 07:29:07] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 07:29:07] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 07:29:13] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 07:29:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T02:57:38.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 07:29:13] local.INFO: Strength records fetched: 4  
[2025-07-11 07:29:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 07:29:13] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 07:29:36] local.INFO: Request Data dd: {"request":{"_token":"iub1v1AivvsUa9EP5W2wa2RNQdmMPtlMu4VXD0Wb","selectdates":"11/07/25 Friday","selecttabs":"strength","name_1":null,"strength_id":"27","names_1":"Upper Body","categorys_1":"1","workouts_1":"27","weigths_1":"80","setsid_1":"49","sets_1":"1","reps_1":"4","restreds_1":"01:00:00","restyellows_1":"00:30:00","restgreens_1":"00:15:00","intensitys_1":"medium"}} 
[2025-07-11 07:29:38] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 07:29:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T02:57:38.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 07:29:38] local.INFO: Strength records fetched: 4  
[2025-07-11 07:29:38] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 07:29:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 07:30:10] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 07:30:11] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 07:30:11] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 08:57:39] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 08:57:40] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 08:57:40] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 08:57:43] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 08:57:43] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 08:57:43] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T02:57:38.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 08:57:43] local.INFO: Strength records fetched: 4  
[2025-07-11 08:57:43] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 08:57:53] local.INFO: Request Data dd: {"request":{"_token":"JL7NFYObtGnT8W7Oz0PwA7U4lXpO9bsH9RaTg8XI","selectdates":"11/07/25 Friday","selecttabs":"strength","name_1":null,"strength_id":"22","names_1":"Upper Body","categorys_1":"1","workouts_1":"27","weigths_1":"85","setsid_1":"38","sets_1":"1","reps_1":"4","restreds_1":"01:00","restyellows_1":"00:30","restgreens_1":"00:15","intensitys_1":"medium"}} 
[2025-07-11 08:57:55] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 08:57:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T08:57:53.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 08:57:55] local.INFO: Strength records fetched: 4  
[2025-07-11 08:57:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 08:57:55] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 08:58:15] local.INFO: Request Data dd: {"request":{"_token":"JL7NFYObtGnT8W7Oz0PwA7U4lXpO9bsH9RaTg8XI","selectdates":"11/07/25 Friday","selecttabs":"strength","name_1":null,"strength_id":"22","names_1":"Upper Body","categorys_1":"1","workouts_1":"27","weigths_1":"85","setsid_1":"38","sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"2","restreds_1":"01:00:00","restyellows_1":"00:30:00","restgreens_1":"00:15:00","intensitys_1":"medium"}} 
[2025-07-11 08:58:15] local.INFO: data cheack {"request":{"_token":"JL7NFYObtGnT8W7Oz0PwA7U4lXpO9bsH9RaTg8XI","selectdates":"11/07/25 Friday","selecttabs":"strength","name_1":null,"strength_id":"22","names_1":"Upper Body","categorys_1":"1","workouts_1":"27","weigths_1":"85","setsid_1":"38","sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"2","restreds_1":"01:00:00","restyellows_1":"00:30:00","restgreens_1":"00:15:00","intensitys_1":"medium"}} 
[2025-07-11 08:58:15] local.INFO: Processing set: setswe_222  
[2025-07-11 08:58:15] local.INFO: Sets: , Reps: , Alt Sets: , Alt Reps:   
[2025-07-11 08:58:15] local.INFO: New StrengthSetRep created successfully. {"id":50} 
[2025-07-11 08:58:15] local.INFO: data cheack {"request":{"_token":"JL7NFYObtGnT8W7Oz0PwA7U4lXpO9bsH9RaTg8XI","selectdates":"11/07/25 Friday","selecttabs":"strength","name_1":null,"strength_id":"22","names_1":"Upper Body","categorys_1":"1","workouts_1":"27","weigths_1":"85","setsid_1":"38","sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"2","restreds_1":"01:00:00","restyellows_1":"00:30:00","restgreens_1":"00:15:00","intensitys_1":"medium"}} 
[2025-07-11 08:58:15] local.INFO: Processing set: setswe_223  
[2025-07-11 08:58:15] local.INFO: Sets: , Reps: , Alt Sets: , Alt Reps:   
[2025-07-11 08:58:15] local.INFO: New StrengthSetRep created successfully. {"id":51} 
[2025-07-11 08:58:16] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 08:58:16] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T08:57:53.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 08:58:16] local.INFO: Strength records fetched: 4  
[2025-07-11 08:58:16] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 08:58:16] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 08:58:23] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 08:58:24] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 08:58:24] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 08:58:24] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 08:58:24] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 08:58:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T08:57:53.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 08:58:24] local.INFO: Strength records fetched: 4  
[2025-07-11 08:58:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 09:21:01] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:21:02] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 09:21:02] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:21:15] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 09:21:15] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T08:57:53.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 09:21:15] local.INFO: Strength records fetched: 4  
[2025-07-11 09:21:15] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 09:21:15] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:21:16] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:21:16] local.INFO: return Weightlifting Request Data:   
[2025-07-11 09:21:20] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:21:29] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 09:21:29] local.INFO: Test records fetched: 1  
[2025-07-11 09:21:29] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:21:29] local.INFO: Test records fetched: [{"id":2,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":1,"member_name":null}]  
[2025-07-11 09:21:29] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":2,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":1,"member_name":null}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}]}} 
[2025-07-11 09:21:44] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:36:10] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:36:11] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 09:36:11] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:36:14] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 09:36:14] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:36:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T08:57:53.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 09:36:14] local.INFO: Strength records fetched: 4  
[2025-07-11 09:36:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 09:37:26] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:37:26] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:37:26] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 09:37:40] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 09:37:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T08:57:53.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 09:37:40] local.INFO: Strength records fetched: 4  
[2025-07-11 09:37:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 09:37:40] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:38:07] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:38:11] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:38:11] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 09:38:11] local.INFO: Test records fetched: 1  
[2025-07-11 09:38:11] local.INFO: Test records fetched: [{"id":2,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":1,"member_name":null}]  
[2025-07-11 09:38:11] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":2,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":1,"member_name":null}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}]}} 
[2025-07-11 09:38:12] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:38:19] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:38:26] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:38:27] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 09:38:27] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:38:27] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:38:27] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 09:38:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T09:38:17.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 09:38:27] local.INFO: Strength records fetched: 4  
[2025-07-11 09:38:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 09:38:35] local.INFO: assigned weightlifting:  {"_token":"JL7NFYObtGnT8W7Oz0PwA7U4lXpO9bsH9RaTg8XI","workout_id":"22","workout_type":"strength","date":"11/07/25 Friday","assigned":"1","class_id":"5"} 
[2025-07-11 09:38:36] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:39:17] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 09:39:17] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:39:17] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T09:38:35.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 09:39:17] local.INFO: Strength records fetched: 4  
[2025-07-11 09:39:17] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 09:39:46] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:39:47] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 09:39:47] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:39:49] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 09:39:49] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 09:39:49] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T09:38:35.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 09:39:49] local.INFO: Strength records fetched: 4  
[2025-07-11 09:39:49] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 10:07:11] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:07:12] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 10:07:12] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:07:13] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:07:13] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 10:07:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T09:38:35.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 10:07:13] local.INFO: Strength records fetched: 4  
[2025-07-11 10:07:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 10:09:21] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:09:21] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 10:09:21] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:09:23] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:09:23] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 10:09:23] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T09:38:35.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 10:09:23] local.INFO: Strength records fetched: 4  
[2025-07-11 10:09:23] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 10:10:57] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:10:57] local.INFO: return Weightlifting Request Data:   
[2025-07-11 10:11:28] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:11:47] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:12:47] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 10:12:47] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:12:47] local.INFO: Test records fetched: 1  
[2025-07-11 10:12:47] local.INFO: Test records fetched: [{"id":2,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":1,"member_name":null}]  
[2025-07-11 10:12:47] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":2,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":1,"member_name":null}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}]}} 
[2025-07-11 10:14:23] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:14:35] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:14:35] local.INFO: return Weightlifting Request Data:   
[2025-07-11 10:14:41] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 10:14:41] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:14:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T09:38:35.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 10:14:41] local.INFO: Strength records fetched: 4  
[2025-07-11 10:14:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 10:14:42] local.INFO: return Weightlifting Request Data:   
[2025-07-11 10:14:42] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:15:18] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:15:41] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 10:15:41] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:15:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T09:38:35.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 10:15:41] local.INFO: Strength records fetched: 4  
[2025-07-11 10:15:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 10:15:47] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:15:47] local.INFO: return Weightlifting Request Data:   
[2025-07-11 10:15:48] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:17:08] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 10:17:08] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:17:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T09:38:35.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 10:17:08] local.INFO: Strength records fetched: 4  
[2025-07-11 10:17:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 10:19:16] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:19:21] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:29:08] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 10:29:08] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 10:29:08] local.INFO: Test records fetched: 1  
[2025-07-11 10:29:08] local.INFO: Test records fetched: [{"id":2,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":1,"member_name":null}]  
[2025-07-11 10:29:08] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":2,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":1,"member_name":null}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}]}} 
[2025-07-11 10:29:52] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 10:29:52] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T09:38:35.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 10:29:52] local.INFO: Strength records fetched: 4  
[2025-07-11 10:29:52] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 10:29:52] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 11:10:28] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 11:10:29] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 11:10:29] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 11:10:31] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 11:10:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T09:38:35.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 11:10:31] local.INFO: Strength records fetched: 4  
[2025-07-11 11:10:31] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 11:10:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 11:10:34] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 11:10:34] local.INFO: return Weightlifting Request Data:   
[2025-07-11 11:10:39] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 11:10:39] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 11:10:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T09:38:35.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 11:10:39] local.INFO: Strength records fetched: 4  
[2025-07-11 11:10:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 11:10:40] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 11:10:40] local.INFO: return Weightlifting Request Data:   
[2025-07-11 11:10:47] local.INFO: Received date: 11/07/25 Friday  
[2025-07-11 11:10:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"category_id":1,"workout_id":27,"weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T09:38:35.000000Z","workoutname":"Upper Body","is_assigned":1,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}],"alt_category":null,"alt_workout":null},{"id":23,"category_id":5,"workout_id":77,"weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T02:57:32.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}],"alt_category":null,"alt_workout":null},{"id":26,"category_id":5,"workout_id":77,"weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z","workoutname":"Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}],"alt_category":null,"alt_workout":null},{"id":27,"category_id":1,"workout_id":27,"weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"11/07/25 Friday","created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T07:29:36.000000Z","workoutname":"Upper Body","is_assigned":0,"category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},"setstrengthsetsreps":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-11 11:10:47] local.INFO: Strength records fetched: 4  
[2025-07-11 11:10:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":85.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":38,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":39,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":40,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T00:19:08.000000Z","updated_at":"2025-07-11T00:19:08.000000Z"},{"id":50,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"},{"id":51,"sets":null,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":22,"created_at":"2025-07-11T08:58:15.000000Z","updated_at":"2025-07-11T08:58:15.000000Z"}]},{"id":23,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"00:00:00","restyellow":"00:00:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":41,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"},{"id":42,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":23,"created_at":"2025-07-11T00:26:27.000000Z","updated_at":"2025-07-11T00:26:27.000000Z"}]},{"id":26,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"Test","weight":75.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":48,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":26,"created_at":"2025-07-11T02:32:10.000000Z","updated_at":"2025-07-11T02:32:10.000000Z"}]},{"id":27,"category_id":1,"category_name":"Horizontal pull","workout_id":27,"workout_type":"Bent over row","workoutname":"Upper Body","weight":80.0,"restred":"01:00:00","restyellow":"00:30:00","restgreen":"00:15:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"11/07/25 Friday","sets":[{"id":49,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":27,"created_at":"2025-07-11T02:57:49.000000Z","updated_at":"2025-07-11T02:57:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-11 11:10:47] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 11:15:09] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 11:15:09] local.INFO: return Weightlifting Request Data:   
[2025-07-11 11:15:09] local.INFO: return Weightlifting Request Data:   
[2025-07-11 11:15:09] local.INFO: Day received: {"day":"11/07/25 Friday"} 
[2025-07-11 20:20:14] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-11 20:20:14] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-11 20:20:14] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 21:46:11] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-11 21:46:12] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 21:46:12] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-11 21:46:26] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-11 23:20:43] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 23:25:53] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-11 23:25:54] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-11 23:25:54] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 03:23:52] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 03:23:52] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 03:23:52] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 03:24:03] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 03:24:03] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 03:24:03] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-12 03:24:03] local.INFO: Strength records fetched: 0  
[2025-07-12 03:24:03] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 03:24:04] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 03:24:04] local.INFO: return Weightlifting Request Data:   
[2025-07-12 03:24:06] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 03:24:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-12 03:24:06] local.INFO: Strength records fetched: 0  
[2025-07-12 03:24:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 03:24:06] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 05:22:14] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 05:22:15] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 05:22:15] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 05:22:27] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 05:22:27] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 05:22:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-12 05:22:27] local.INFO: Strength records fetched: 0  
[2025-07-12 05:22:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 07:09:28] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 07:09:29] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 07:09:29] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 07:09:49] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-07-12 11:14:12] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:14:13] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 11:14:13] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:14:36] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:14:36] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 11:14:37] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:14:56] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:14:57] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 11:14:57] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:15:27] local.INFO: Incoming Warmup Request Data:  {"_token":"P5kqwnD34skHg9WYX8vXHV8GqvG6Mkn40FrVWUT0","selectdatew":"12/07/25 Saturday","namew_2":null,"warmup_id":null,"namew_1":"Test Workout","categoryw_1":"8","workoutw_1":"119","repsw_1":"5","weigthw_1":"85"} 
[2025-07-12 11:15:29] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:15:33] local.INFO: assigned weightlifting:  {"_token":"P5kqwnD34skHg9WYX8vXHV8GqvG6Mkn40FrVWUT0","workout_id":"9","workout_type":"warmup","date":"12/07/25 Saturday","assigned":"1","class_id":"7"} 
[2025-07-12 11:15:35] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:15:44] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:15:44] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 11:15:45] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:15:54] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 11:15:54] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-12 11:15:54] local.INFO: Strength records fetched: 0  
[2025-07-12 11:15:54] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 11:15:54] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:16:57] local.INFO: Received request data: {"_token":"P5kqwnD34skHg9WYX8vXHV8GqvG6Mkn40FrVWUT0","selectdates":"12/07/25 Saturday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"Strength Test Workout","categorys_1":"4","workouts_1":"17","weigths_1":"70","setsid_1":null,"sets_1":"1","reps_1":"6","sets_12":"2","reps_12":"6","sets_13":"3","reps_13":"6","restreds_1":"01:00","restyellows_1":"00:45","restgreens_1":"00:30","intensitys_1":"medium"} 
[2025-07-12 11:16:57] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Strength Test Workout","categorys_1":"4","workouts_1":"17","weigths_1":"70","setsid_1":null,"sets_1":"1","reps_1":"6","sets_12":"2","reps_12":"6","sets_13":"3","reps_13":"6","restreds_1":"01:00","restyellows_1":"00:45","restgreens_1":"00:30","intensitys_1":"medium"} 
[2025-07-12 11:16:57] local.INFO: Created Strength ID {"id":28} 
[2025-07-12 11:16:57] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"6","alt_set":null,"alt_reps":null,"strength_id":28} 
[2025-07-12 11:16:57] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"6","alt_set":null,"alt_reps":null,"strength_id":28} 
[2025-07-12 11:16:57] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"6","alt_set":null,"alt_reps":null,"strength_id":28} 
[2025-07-12 11:16:59] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 11:16:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":28,"category_id":4,"workout_id":17,"weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:30:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/07/25 Saturday","created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z","workoutname":"Strength Test Workout","is_assigned":0,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-12 11:16:59] local.INFO: Strength records fetched: 1  
[2025-07-12 11:16:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":28,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Strength Test Workout","weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:30:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 11:17:00] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:17:06] local.INFO: assigned weightlifting:  {"_token":"P5kqwnD34skHg9WYX8vXHV8GqvG6Mkn40FrVWUT0","workout_id":"28","workout_type":"strength","date":"12/07/25 Saturday","assigned":"1","class_id":"8"} 
[2025-07-12 11:17:07] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:17:44] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:17:44] local.INFO: return Weightlifting Request Data:   
[2025-07-12 11:17:44] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:17:45] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:17:45] local.INFO: return Weightlifting Request Data:   
[2025-07-12 11:18:32] local.INFO: Incoming Weightlifting Request Data:  {"_token":"P5kqwnD34skHg9WYX8vXHV8GqvG6Mkn40FrVWUT0","selectdatewe":"12/07/25 Saturday","namewe_2":null,"weightlifting_id":null,"namewe_1":"Weightlifting Test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"95","setwid_1":null,"setswe_1":"1","repswe_1":"8","setswe_12":"2","repswe_12":"8","restredwe_1":"01:00","restyellowwe_1":"01:00","restgreenwe_1":"01:00","intensitywe_1":"high"} 
[2025-07-12 11:18:32] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"Weightlifting Test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"95","setwid_1":null,"setswe_1":"1","repswe_1":"8","restredwe_1":"01:00","restyellowwe_1":"01:00","restgreenwe_1":"01:00","intensitywe_1":"high"} 
[2025-07-12 11:18:32] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"Weightlifting Test","weigth":"95","restred":"01:00","restgreen":"01:00","restyellow":"01:00","intensity":"high","date":"12/07/25 Saturday"} 
[2025-07-12 11:18:41] local.INFO: Incoming Weightlifting Request Data:  {"_token":"P5kqwnD34skHg9WYX8vXHV8GqvG6Mkn40FrVWUT0","selectdatewe":"12/07/25 Saturday","namewe_2":null,"weightlifting_id":null,"namewe_1":"Weightlifting Test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"95","setwid_1":null,"setswe_1":"1","repswe_1":"8","setswe_12":"2","repswe_12":"8","restredwe_1":"01:00","restyellowwe_1":"01:00","restgreenwe_1":"01:00","intensitywe_1":"high"} 
[2025-07-12 11:18:41] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"Weightlifting Test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"95","setwid_1":null,"setswe_1":"1","repswe_1":"8","restredwe_1":"01:00","restyellowwe_1":"01:00","restgreenwe_1":"01:00","intensitywe_1":"high"} 
[2025-07-12 11:18:41] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"Weightlifting Test","weigth":"95","restred":"01:00","restgreen":"01:00","restyellow":"01:00","intensity":"high","date":"12/07/25 Saturday"} 
[2025-07-12 11:18:53] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:18:53] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 11:18:53] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:18:55] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:18:55] local.INFO: return Weightlifting Request Data:   
[2025-07-12 11:19:28] local.INFO: Incoming Weightlifting Request Data:  {"_token":"P5kqwnD34skHg9WYX8vXHV8GqvG6Mkn40FrVWUT0","selectdatewe":"12/07/25 Saturday","namewe_2":null,"weightlifting_id":null,"namewe_1":"Weightlifting Test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"88","setwid_1":null,"setswe_1":"1","repswe_1":"8","setswe_12":"2","repswe_12":"8","restredwe_1":"01:00","restyellowwe_1":"01:00","restgreenwe_1":"01:00","intensitywe_1":"low"} 
[2025-07-12 11:19:28] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"Weightlifting Test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"88","setwid_1":null,"setswe_1":"1","repswe_1":"8","restredwe_1":"01:00","restyellowwe_1":"01:00","restgreenwe_1":"01:00","intensitywe_1":"low"} 
[2025-07-12 11:19:28] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"Weightlifting Test","weigth":"88","restred":"01:00","restgreen":"01:00","restyellow":"01:00","intensity":"low","date":"12/07/25 Saturday"} 
[2025-07-12 11:19:53] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:20:08] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:20:08] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 11:20:08] local.INFO: Test records fetched: 0  
[2025-07-12 11:20:08] local.INFO: Test records fetched: []  
[2025-07-12 11:20:08] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}]}} 
[2025-07-12 11:20:09] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:22:19] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:22:20] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 11:22:20] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":28,"category_id":4,"workout_id":17,"weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:30:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/07/25 Saturday","created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:17:06.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-12 11:22:20] local.INFO: Strength records fetched: 1  
[2025-07-12 11:22:20] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":28,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Strength Test Workout","weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:30:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 11:22:43] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:23:06] local.INFO: Received Request Data: {"strength_id":"28","reps":"6","weight":"21.00","type":"Primary","_token":"cqL9ujOZDUaaXdcIXCJvlWjo0MDPGMnmkt2y75av"} 
[2025-07-12 11:23:06] local.INFO: Validated Data: {"strength_id":"28","type":"Primary","reps":"6","weight":"21.00"} 
[2025-07-12 11:23:06] local.INFO: Stored day from session: 12/07/2025  
[2025-07-12 11:23:06] local.INFO: Formatted date: 2025-07-12 11:23:06  
[2025-07-12 11:23:06] local.INFO: Formatted Date: {"date":"12/07/25"} 
[2025-07-12 11:23:06] local.INFO: Weight Value: {"weight":21.0} 
[2025-07-12 11:23:06] local.INFO: Created New DailyStrength Record: {"user_id":2,"strength_id":"28","date":"12/07/25 Saturday","weight":21.0,"type":"Primary","created_data":{"strength_id":"28","type":"Primary","reps":"6","weight":21.0}} 
[2025-07-12 11:24:16] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 11:24:16] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:24:16] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":28,"category_id":4,"workout_id":17,"weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:30:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/07/25 Saturday","created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:17:06.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-12 11:24:16] local.INFO: Strength records fetched: 1  
[2025-07-12 11:24:16] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":28,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Strength Test Workout","weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:30:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 11:25:52] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:25:55] local.INFO: return Weightlifting Request Data:   
[2025-07-12 11:25:55] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 11:26:03] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 12:01:38] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 12:01:38] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 12:01:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":28,"category_id":4,"workout_id":17,"weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:30:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/07/25 Saturday","created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:17:06.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-12 12:01:38] local.INFO: Strength records fetched: 1  
[2025-07-12 12:01:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":28,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Strength Test Workout","weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:30:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 12:13:05] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 12:13:05] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 12:13:05] local.INFO: Test records fetched: 0  
[2025-07-12 12:13:05] local.INFO: Test records fetched: []  
[2025-07-12 12:13:05] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}]}} 
[2025-07-12 12:20:49] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 12:20:50] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 12:20:50] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 12:20:51] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 12:37:31] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 12:37:32] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 12:37:32] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 12:37:35] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 12:38:03] local.INFO: Incoming Conditioning Request Data:  {"_token":"DiePxNiebQnXiA2Hxx6mw1CnzMYnCwat11WfuKz3","selectdatec":"12/07/25 Saturday","rounds":"1","conditioning_id":null,"namec_1":"test","categoryc_1":"8","workoutc_1":"99","weigthc_1":"15","unit_1":"%","roundCond":"1","repsc_1":"2","timeTC_1":"04:00","intensityc_1":"high"} 
[2025-07-12 12:38:05] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:22:19] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:22:19] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:22:19] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 16:22:41] local.INFO: return Weightlifting Request Data:   
[2025-07-12 16:22:41] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:22:50] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:22:53] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 16:22:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":28,"category_id":4,"workout_id":17,"weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:30:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/07/25 Saturday","created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:17:06.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-12 16:22:53] local.INFO: Strength records fetched: 1  
[2025-07-12 16:22:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":28,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Strength Test Workout","weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:30:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 16:22:53] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:22:58] local.INFO: return Weightlifting Request Data:   
[2025-07-12 16:22:58] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:23:13] local.INFO: Incoming Weightlifting Request Data:  {"_token":"P2MzGv5VSi2OnDTcN7QxTwvH5HZLaYgrpV7CAtOQ","selectdatewe":"12/07/25 Saturday","namewe_2":null,"weightlifting_id":null,"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"12","setwid_1":null,"setswe_1":"1","repswe_1":"1","setswe_12":"2","repswe_12":"3","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"medium"} 
[2025-07-12 16:23:13] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"12","setwid_1":null,"setswe_1":"1","repswe_1":"1","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"medium"} 
[2025-07-12 16:23:13] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test","weigth":"12","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"medium","date":"12/07/25 Saturday"} 
[2025-07-12 16:23:19] local.INFO: Incoming Weightlifting Request Data:  {"_token":"P2MzGv5VSi2OnDTcN7QxTwvH5HZLaYgrpV7CAtOQ","selectdatewe":"12/07/25 Saturday","namewe_2":null,"weightlifting_id":null,"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"12","setwid_1":null,"setswe_1":"1","repswe_1":"1","setswe_12":"2","repswe_12":"3","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"medium"} 
[2025-07-12 16:23:19] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"12","setwid_1":null,"setswe_1":"1","repswe_1":"1","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"medium"} 
[2025-07-12 16:23:19] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test","weigth":"12","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"medium","date":"12/07/25 Saturday"} 
[2025-07-12 16:27:20] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:27:21] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 16:27:22] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:27:23] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:27:23] local.INFO: return Weightlifting Request Data:   
[2025-07-12 16:27:49] local.INFO: Incoming Weightlifting Request Data:  {"_token":"P2MzGv5VSi2OnDTcN7QxTwvH5HZLaYgrpV7CAtOQ","selectdatewe":"12/07/25 Saturday","namewe_2":null,"weightlifting_id":null,"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"22","setwid_1":null,"setswe_1":"1","repswe_1":"2","setswe_12":"2","repswe_12":"3","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low"} 
[2025-07-12 16:27:49] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"22","setwid_1":null,"setswe_1":"1","repswe_1":"2","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low"} 
[2025-07-12 16:27:49] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test","weigth":"22","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"low","date":"12/07/25 Saturday"} 
[2025-07-12 16:27:55] local.INFO: Incoming Weightlifting Request Data:  {"_token":"P2MzGv5VSi2OnDTcN7QxTwvH5HZLaYgrpV7CAtOQ","selectdatewe":"12/07/25 Saturday","namewe_2":null,"weightlifting_id":null,"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"22","setwid_1":null,"setswe_1":"1","repswe_1":"2","setswe_12":"2","repswe_12":"3","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low"} 
[2025-07-12 16:27:55] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"22","setwid_1":null,"setswe_1":"1","repswe_1":"2","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"low"} 
[2025-07-12 16:27:55] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test","weigth":"22","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"low","date":"12/07/25 Saturday"} 
[2025-07-12 16:29:09] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:29:09] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 16:29:09] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:29:21] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:29:22] local.INFO: return Weightlifting Request Data:   
[2025-07-12 16:29:22] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:29:50] local.INFO: Incoming Weightlifting Request Data:  {"_token":"P2MzGv5VSi2OnDTcN7QxTwvH5HZLaYgrpV7CAtOQ","selectdatewe":"12/07/25 Saturday","namewe_2":null,"weightlifting_id":null,"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"22","setwid_1":null,"setswe_1":"1","repswe_1":"2","setswe_12":"2","repswe_12":"3","setswe_13":"3","repswe_13":"2","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"medium"} 
[2025-07-12 16:29:50] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","weigthwe_1":"22","setwid_1":null,"setswe_1":"1","repswe_1":"2","restredwe_1":"04:00","restyellowwe_1":"04:00","restgreenwe_1":"04:00","intensitywe_1":"medium"} 
[2025-07-12 16:29:50] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test","weigth":"22","restred":"04:00","restgreen":"04:00","restyellow":"04:00","intensity":"medium","date":"12/07/25 Saturday"} 
[2025-07-12 16:29:50] local.INFO: Created Weightlifting ID {"id":6} 
[2025-07-12 16:29:50] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"weightlifting_id":6} 
[2025-07-12 16:29:50] local.INFO: Saving WeightliftingSet row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":6} 
[2025-07-12 16:29:50] local.INFO: Saving WeightliftingSet row {"sets":"3","reps":"2","alt_set":null,"alt_reps":null,"weightlifting_id":6} 
[2025-07-12 16:29:52] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 16:29:52] local.INFO: return Weightlifting Request Data:  [{"id":6,"category_id":5,"category_name":"Hinge","workoutname":"test","workout_id":117,"workout_type":"Seal row","weight":22.0,"restwered":"04:00:00","restweyellow":"04:00:00","restwegreen":"04:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":8,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"},{"id":9,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"},{"id":10,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"}]}}] 
[2025-07-12 16:30:03] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 18:03:49] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 18:03:50] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 18:03:50] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 18:03:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":28,"category_id":4,"workout_id":17,"weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:30:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/07/25 Saturday","created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:17:06.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-12 18:03:50] local.INFO: Strength records fetched: 1  
[2025-07-12 18:03:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":28,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Strength Test Workout","weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:30:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 18:04:38] local.INFO: Request Data dd: {"request":{"_token":"P2MzGv5VSi2OnDTcN7QxTwvH5HZLaYgrpV7CAtOQ","selectdates":"12/07/25 Saturday","selecttabs":"strength","name_1":null,"strength_id":"28","names_1":"Strength Test Workout","categorys_1":"4","weigths_1":"70","setsid_1":"52","sets_1":"1","reps_1":"6","setsid_12":"53","sets_12":"2","reps_12":"6","setsid_13":"54","sets_13":"3","reps_13":"6","restreds_1":"00:45","restyellows_1":"00:45","restgreens_1":"00:45","intensitys_1":"medium"}} 
[2025-07-12 18:04:38] local.INFO: Updated Set ID 52: sets=1, reps=6  
[2025-07-12 18:04:38] local.INFO: Updated Set ID 53: sets=2, reps=6  
[2025-07-12 18:04:38] local.INFO: Updated Set ID 54: sets=3, reps=6  
[2025-07-12 18:04:40] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 18:04:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":28,"category_id":4,"workout_id":null,"weight":70.0,"restred":"00:45:00","restyellow":"00:45:00","restgreen":"00:45:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/07/25 Saturday","created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T18:04:38.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":null,"setstrengthsetsreps":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-12 18:04:40] local.INFO: Strength records fetched: 1  
[2025-07-12 18:04:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":28,"category_id":4,"category_name":"Squat","workout_id":null,"workout_type":null,"workoutname":"Strength Test Workout","weight":70.0,"restred":"00:45:00","restyellow":"00:45:00","restgreen":"00:45:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 18:04:41] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 18:04:56] local.INFO: Request Data dd: {"request":{"_token":"P2MzGv5VSi2OnDTcN7QxTwvH5HZLaYgrpV7CAtOQ","selectdates":"12/07/25 Saturday","selecttabs":"strength","name_1":null,"strength_id":"28","names_1":"Strength Test Workout","categorys_1":"4","weigths_1":"70","setsid_1":"52","sets_1":"1","reps_1":"6","setsid_12":"53","sets_12":"2","reps_12":"6","setsid_13":"54","sets_13":"3","reps_13":"6","restreds_1":"01:00","restyellows_1":"00:45:00","restgreens_1":"00:45:00","intensitys_1":"medium"}} 
[2025-07-12 18:04:56] local.INFO: Updated Set ID 52: sets=1, reps=6  
[2025-07-12 18:04:56] local.INFO: Updated Set ID 53: sets=2, reps=6  
[2025-07-12 18:04:56] local.INFO: Updated Set ID 54: sets=3, reps=6  
[2025-07-12 18:04:58] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 18:04:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":28,"category_id":4,"workout_id":null,"weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:45:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/07/25 Saturday","created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T18:04:56.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":null,"setstrengthsetsreps":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-12 18:04:58] local.INFO: Strength records fetched: 1  
[2025-07-12 18:04:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":28,"category_id":4,"category_name":"Squat","workout_id":null,"workout_type":null,"workoutname":"Strength Test Workout","weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:45:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 18:04:58] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 18:05:13] local.INFO: Request Data dd: {"request":{"_token":"P2MzGv5VSi2OnDTcN7QxTwvH5HZLaYgrpV7CAtOQ","selectdates":"12/07/25 Saturday","selecttabs":"strength","name_1":null,"strength_id":"28","names_1":"Strength Test Workout","categorys_1":"4","weigths_1":"70","setsid_1":"52","sets_1":"1","reps_1":"6","setsid_12":"53","sets_12":"2","reps_12":"6","setsid_13":"54","sets_13":"3","reps_13":"6","restreds_1":"01:00","restyellows_1":"00:45:00","restgreens_1":"00:45:00","intensitys_1":"medium"}} 
[2025-07-12 18:05:13] local.INFO: Updated Set ID 52: sets=1, reps=6  
[2025-07-12 18:05:13] local.INFO: Updated Set ID 53: sets=2, reps=6  
[2025-07-12 18:05:13] local.INFO: Updated Set ID 54: sets=3, reps=6  
[2025-07-12 18:05:15] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 18:05:15] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":28,"category_id":4,"workout_id":null,"weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:45:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/07/25 Saturday","created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T18:05:13.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":null,"setstrengthsetsreps":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-12 18:05:15] local.INFO: Strength records fetched: 1  
[2025-07-12 18:05:15] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":28,"category_id":4,"category_name":"Squat","workout_id":null,"workout_type":null,"workoutname":"Strength Test Workout","weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:45:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 18:05:15] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 18:11:07] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_assigned' in 'where clause' (Connection: mysql, SQL: select * from `tests` where `date` = 12/07/25 Saturday and `is_assigned` = 1) {"userId":2,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_assigned' in 'where clause' (Connection: mysql, SQL: select * from `tests` where `date` = 12/07/25 Saturday and `is_assigned` = 1) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('select * from `...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(414): Illuminate\\Database\\Connection->run('select * from `...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2871): Illuminate\\Database\\Connection->select('select * from `...', Array, true)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2860): Illuminate\\Database\\Query\\Builder->runSelect()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3414): Illuminate\\Database\\Query\\Builder->Illuminate\\Database\\Query\\{closure}()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2859): Illuminate\\Database\\Query\\Builder->onceWithColumns(Array, Object(Closure))
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(739): Illuminate\\Database\\Query\\Builder->get(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(723): Illuminate\\Database\\Eloquent\\Builder->getModels(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(314): Illuminate\\Database\\Eloquent\\Builder->get()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->workout()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('workout', Array)
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'workout')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#53 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_assigned' in 'where clause' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:423)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(423): PDO->prepare('select * from `...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('select * from `...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('select * from `...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(414): Illuminate\\Database\\Connection->run('select * from `...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2871): Illuminate\\Database\\Connection->select('select * from `...', Array, true)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2860): Illuminate\\Database\\Query\\Builder->runSelect()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3414): Illuminate\\Database\\Query\\Builder->Illuminate\\Database\\Query\\{closure}()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2859): Illuminate\\Database\\Query\\Builder->onceWithColumns(Array, Object(Closure))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(739): Illuminate\\Database\\Query\\Builder->get(Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(723): Illuminate\\Database\\Eloquent\\Builder->getModels(Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(314): Illuminate\\Database\\Eloquent\\Builder->get()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->workout()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('workout', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'workout')
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#55 {main}
"} 
[2025-07-12 18:12:25] local.ERROR: Attempt to read property "categoryOption" on null (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Attempt to read property \"categoryOption\" on null (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php:128)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Attempt to read property \"categoryOption\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php:128)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 128)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php(128): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 128)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#53 {main}
"} 
[2025-07-12 18:12:45] local.ERROR: Attempt to read property "categoryOption" on null (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Attempt to read property \"categoryOption\" on null (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php:128)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Attempt to read property \"categoryOption\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php:128)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 128)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php(128): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 128)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#53 {main}
"} 
[2025-07-12 18:14:05] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 18:14:06] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 18:14:06] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 18:14:08] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 18:14:08] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 18:14:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":28,"category_id":4,"workout_id":null,"weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:45:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/07/25 Saturday","created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T18:05:13.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":null,"setstrengthsetsreps":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-12 18:14:08] local.INFO: Strength records fetched: 1  
[2025-07-12 18:14:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":28,"category_id":4,"category_name":"Squat","workout_id":null,"workout_type":null,"workoutname":"Strength Test Workout","weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:45:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 18:14:10] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 18:14:10] local.INFO: return Weightlifting Request Data:  [{"id":6,"category_id":5,"category_name":"Hinge","workoutname":"test","workout_id":117,"workout_type":"Seal row","weight":22.0,"restwered":"04:00:00","restweyellow":"04:00:00","restwegreen":"04:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":8,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"},{"id":9,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"},{"id":10,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"}]}}] 
[2025-07-12 18:14:12] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 18:14:14] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 18:14:14] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 18:14:14] local.INFO: Test records fetched: 0  
[2025-07-12 18:14:14] local.INFO: Test records fetched: []  
[2025-07-12 18:14:14] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-12 18:14:31] local.INFO: Received date: 12/07/25 Saturday  
[2025-07-12 18:14:31] local.INFO: Test records fetched: 1  
[2025-07-12 18:14:31] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-07-12 18:14:31] local.INFO: Test records fetched: [{"id":3,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":2,"member_name":null}]  
[2025-07-12 18:14:31] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":3,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":2,"member_name":null}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-12 18:14:56] local.ERROR: Attempt to read property "categoryOption" on null (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Attempt to read property \"categoryOption\" on null (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php:128)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Attempt to read property \"categoryOption\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php:128)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 128)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php(128): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 128)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#53 {main}
"} 
[2025-07-12 18:15:40] local.ERROR: Attempt to read property "categoryOption" on null (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout.blade.php) {"userId":2,"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Attempt to read property \"categoryOption\" on null (View: /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/resources/views/mobile/user/workout.blade.php) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php:128)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(60): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#49 {main}

[previous exception] [object] (ErrorException(code: 0): Attempt to read property \"categoryOption\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php:128)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 128)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/storage/framework/views/8bf7b6f46d568f7acbf454e8b8e98ae1.php(128): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 128)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(123): require('/home/vpbifrost...')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(124): Illuminate\\Filesystem\\Filesystem::Illuminate\\Filesystem\\{closure}()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\\Filesystem\\Filesystem->getRequire('/home/vpbifrost...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(72): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/home/vpbifrost...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(207): Illuminate\\View\\Engines\\CompilerEngine->get('/home/vpbifrost...', Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(190): Illuminate\\View\\View->getContents()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/View.php(159): Illuminate\\View\\View->renderContents()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\\View\\View->render()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(918): Illuminate\\Http\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#53 {main}
"} 
[2025-07-12 22:21:15] local.INFO: Received Request Data: {"strength_id":"28","reps":"6","weight":"21.00","type":"Primary","_token":"bGqHZLm1HpRdLJYA0qqZeWcdTewxOSYRipQ3tYm2"} 
[2025-07-12 22:21:15] local.INFO: Validated Data: {"strength_id":"28","type":"Primary","reps":"6","weight":"21.00"} 
[2025-07-12 22:21:15] local.WARNING: User is not authenticated.  
[2025-07-12 22:21:51] local.INFO: Received Request Data: {"strength_id":"28","reps":"6","weight":"45.50","type":"Primary","_token":"bGqHZLm1HpRdLJYA0qqZeWcdTewxOSYRipQ3tYm2"} 
[2025-07-12 22:21:51] local.INFO: Validated Data: {"strength_id":"28","type":"Primary","reps":"6","weight":"45.50"} 
[2025-07-12 22:21:51] local.WARNING: User is not authenticated.  
[2025-07-12 22:21:55] local.INFO: Received Request Data: {"strength_id":"28","reps":"6","weight":"70.00","type":"Primary","_token":"bGqHZLm1HpRdLJYA0qqZeWcdTewxOSYRipQ3tYm2"} 
[2025-07-12 22:21:55] local.INFO: Validated Data: {"strength_id":"28","type":"Primary","reps":"6","weight":"70.00"} 
[2025-07-12 22:21:55] local.WARNING: User is not authenticated.  
[2025-07-12 23:58:28] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-12 23:58:29] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-12 23:58:29] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-12 23:58:30] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-12 23:58:30] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-12 23:58:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-12 23:58:30] local.INFO: Strength records fetched: 0  
[2025-07-12 23:58:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 23:58:35] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-12 23:58:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-12 23:58:35] local.INFO: Strength records fetched: 0  
[2025-07-12 23:58:35] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-12 23:58:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-12 23:59:53] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-13 00:00:11] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:00:11] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-13 00:00:11] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:01:39] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:01:39] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-13 00:01:46] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 00:01:46] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-13 00:01:46] local.INFO: Strength records fetched: 0  
[2025-07-13 00:01:46] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 00:01:46] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:02:22] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:02:22] local.INFO: return Weightlifting Request Data:   
[2025-07-13 00:02:24] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:02:34] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 00:02:34] local.INFO: Test records fetched: 0  
[2025-07-13 00:02:34] local.INFO: Test records fetched: []  
[2025-07-13 00:02:34] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-13 00:02:34] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:02:35] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:03:28] local.INFO: Incoming Conditioning Request Data:  {"_token":"zOhptS76LI76OntfsvTswkDzAo8Hht9TOVaKbs65","selectdatec":"13/07/25 Sunday","rounds":"4","conditioning_id":null,"namec_1":"Test Conditioning","categoryc_1":"8","workoutc_1":"95","weigthc_1":"75","unit_1":"%","roundCond":"4","repsc_1":"4","timeTC_1":"05:00"} 
[2025-07-13 00:03:30] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:03:36] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:03:39] local.INFO: assigned weightlifting:  {"_token":"zOhptS76LI76OntfsvTswkDzAo8Hht9TOVaKbs65","workout_id":"11","workout_type":"conditioning","date":"13/07/25 Sunday","assigned":"1","class_id":"9"} 
[2025-07-13 00:03:41] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:04:39] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 00:04:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-13 00:04:39] local.INFO: Strength records fetched: 0  
[2025-07-13 00:04:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 00:04:39] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:05:01] local.INFO: Received request data: {"_token":"zOhptS76LI76OntfsvTswkDzAo8Hht9TOVaKbs65","selectdates":"13/07/25 Sunday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"Strength Test","categorys_1":"4","workouts_1":"17","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"6","sets_12":"2","reps_12":"6","sets_13":"3","reps_13":"6","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","intensitys_1":"low"} 
[2025-07-13 00:05:01] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Strength Test","categorys_1":"4","workouts_1":"17","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"6","sets_12":"2","reps_12":"6","sets_13":"3","reps_13":"6","restreds_1":"04:00","restyellows_1":"04:00","restgreens_1":"04:00","intensitys_1":"low"} 
[2025-07-13 00:05:01] local.INFO: Created Strength ID {"id":29} 
[2025-07-13 00:05:01] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"6","alt_set":null,"alt_reps":null,"strength_id":29} 
[2025-07-13 00:05:01] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"6","alt_set":null,"alt_reps":null,"strength_id":29} 
[2025-07-13 00:05:01] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"6","alt_set":null,"alt_reps":null,"strength_id":29} 
[2025-07-13 00:05:03] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 00:05:03] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":29,"category_id":4,"workout_id":17,"weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z","workoutname":"Strength Test","is_assigned":0,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":55,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":56,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":57,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 00:05:03] local.INFO: Strength records fetched: 1  
[2025-07-13 00:05:03] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":29,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Strength Test","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":55,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":56,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":57,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 00:05:03] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:05:07] local.INFO: assigned weightlifting:  {"_token":"zOhptS76LI76OntfsvTswkDzAo8Hht9TOVaKbs65","workout_id":"29","workout_type":"strength","date":"13/07/25 Sunday","assigned":"1","class_id":"9"} 
[2025-07-13 00:05:09] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 00:05:51] local.INFO: Received Request Data: {"strength_id":"29","reps":"6","weight":"24.00","type":"Primary","_token":"s5ckdBSxwwgxMReftEPwf8FgPQl5i5zAEP26ZIFl"} 
[2025-07-13 00:05:51] local.INFO: Validated Data: {"strength_id":"29","type":"Primary","reps":"6","weight":"24.00"} 
[2025-07-13 00:05:51] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 00:05:51] local.INFO: Formatted date: 2025-07-13 00:05:51  
[2025-07-13 00:05:51] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 00:05:51] local.INFO: Weight Value: {"weight":24.0} 
[2025-07-13 00:05:51] local.INFO: Created New DailyStrength Record: {"user_id":2,"strength_id":"29","date":"13/07/25 Sunday","weight":24.0,"type":"Primary","created_data":{"strength_id":"29","type":"Primary","reps":"6","weight":24.0}} 
[2025-07-13 00:06:58] local.INFO: Received Request Data: {"strength_id":"29","reps":"6","weight":"52.00","type":"Primary","_token":"s5ckdBSxwwgxMReftEPwf8FgPQl5i5zAEP26ZIFl"} 
[2025-07-13 00:06:58] local.INFO: Validated Data: {"strength_id":"29","type":"Primary","reps":"6","weight":"52.00"} 
[2025-07-13 00:06:58] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 00:06:58] local.INFO: Formatted date: 2025-07-13 00:06:58  
[2025-07-13 00:06:58] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 00:06:58] local.INFO: Weight Value: {"weight":52.0} 
[2025-07-13 00:06:58] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"29","date":"13/07/25 Sunday","weight":52.0,"type":"Primary","updated_data":{"strength_id":"29","type":"Primary","reps":"6","weight":52.0}} 
[2025-07-13 00:29:42] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 01:02:46] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 01:02:46] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 01:02:46] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":29,"category_id":4,"workout_id":17,"weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:07.000000Z","workoutname":"Strength Test","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":55,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":56,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":57,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 01:02:46] local.INFO: Strength records fetched: 1  
[2025-07-13 01:02:46] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":29,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Strength Test","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":55,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":56,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":57,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 01:02:51] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 01:02:51] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-13 01:02:52] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 01:02:57] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 01:02:57] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 01:02:57] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":29,"category_id":4,"workout_id":17,"weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:07.000000Z","workoutname":"Strength Test","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":55,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":56,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":57,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 01:02:57] local.INFO: Strength records fetched: 1  
[2025-07-13 01:02:57] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":29,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Strength Test","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":55,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":56,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":57,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 08:17:58] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:17:58] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-13 08:17:58] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:18:01] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:18:01] local.INFO: return Weightlifting Request Data:   
[2025-07-13 08:18:02] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 08:18:02] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:18:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":29,"category_id":4,"workout_id":17,"weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:07.000000Z","workoutname":"Strength Test","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":55,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":56,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":57,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 08:18:02] local.INFO: Strength records fetched: 1  
[2025-07-13 08:18:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":29,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Strength Test","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":55,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":56,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":57,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 08:18:20] local.INFO: return Weightlifting Request Data:   
[2025-07-13 08:18:20] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:19:56] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:19:57] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-13 08:19:57] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:24:16] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:24:17] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:24:17] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-13 08:24:18] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 08:24:18] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:24:18] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":29,"category_id":4,"workout_id":17,"weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:07.000000Z","workoutname":"Strength Test","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":55,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":56,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":57,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 08:24:18] local.INFO: Strength records fetched: 1  
[2025-07-13 08:24:18] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":29,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Strength Test","weight":80.0,"restred":"04:00:00","restyellow":"04:00:00","restgreen":"04:00:00","intensity":"low","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":55,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":56,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"},{"id":57,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":29,"created_at":"2025-07-13T00:05:01.000000Z","updated_at":"2025-07-13T00:05:01.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 08:24:26] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 08:24:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-13 08:24:26] local.INFO: Strength records fetched: 0  
[2025-07-13 08:24:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 08:24:59] local.INFO: Received request data: {"_token":"P8obPiahYiL1MggWoqNf4edoUMxqlU5Y4o1W1IjO","selectdates":"13/07/25 Sunday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"Strength Test Workout","categorys_1":"4","workouts_1":"60","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:00:45","restgreens_1":"00:00:30"} 
[2025-07-13 08:24:59] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Strength Test Workout","categorys_1":"4","workouts_1":"60","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:00:45","restgreens_1":"00:00:30"} 
[2025-07-13 08:24:59] local.INFO: Created Strength ID {"id":30} 
[2025-07-13 08:24:59] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":30} 
[2025-07-13 08:24:59] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":30} 
[2025-07-13 08:24:59] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":30} 
[2025-07-13 08:25:00] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 08:25:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"category_id":4,"workout_id":60,"weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z","workoutname":"Strength Test Workout","is_assigned":0,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},"setstrengthsetsreps":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 08:25:00] local.INFO: Strength records fetched: 1  
[2025-07-13 08:25:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":30,"category_id":4,"category_name":"Squat","workout_id":60,"workout_type":"Front squat","workoutname":"Strength Test Workout","weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 08:25:01] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:25:08] local.INFO: assigned weightlifting:  {"_token":"P8obPiahYiL1MggWoqNf4edoUMxqlU5Y4o1W1IjO","workout_id":"30","workout_type":"strength","date":"13/07/25 Sunday","assigned":"1","class_id":"9"} 
[2025-07-13 08:25:10] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:25:28] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"7IaRRBzXUQCUX4A000vNGkkguDCHkUGXBwunLJtt"} 
[2025-07-13 08:25:28] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 08:25:28] local.WARNING: User is not authenticated.  
[2025-07-13 08:26:46] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"48.75","type":"Primary","_token":"7IaRRBzXUQCUX4A000vNGkkguDCHkUGXBwunLJtt"} 
[2025-07-13 08:26:46] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"48.75"} 
[2025-07-13 08:26:46] local.WARNING: User is not authenticated.  
[2025-07-13 08:27:44] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:27:44] local.INFO: return Weightlifting Request Data:   
[2025-07-13 08:27:47] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 08:31:52] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"h5JYmOQ0oL5dQtzzqvnaRb6GJtEi5szfpFsNEXSn"} 
[2025-07-13 08:31:52] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 08:31:52] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 08:31:52] local.INFO: Formatted date: 2025-07-13 08:31:52  
[2025-07-13 08:31:52] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 08:31:52] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 08:31:52] local.INFO: Created New DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","created_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 08:31:54] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-13 08:31:58] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-13 08:32:49] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-13 08:33:05] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-13 08:35:29] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"7IaRRBzXUQCUX4A000vNGkkguDCHkUGXBwunLJtt"} 
[2025-07-13 08:35:29] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 08:35:29] local.WARNING: User is not authenticated.  
[2025-07-13 08:38:43] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"sl8ZNGkk13YtChxYfw0GGH51lz3kbhUsQOs7knJT"} 
[2025-07-13 08:38:43] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 08:38:43] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 08:38:43] local.INFO: Formatted date: 2025-07-13 08:38:43  
[2025-07-13 08:38:43] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 08:38:43] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 08:38:43] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 08:51:35] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"YRXKBiOYH0cZHDJHT9Xnt4VeK0tcg9tIYtztcF2C"} 
[2025-07-13 08:51:35] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 08:51:35] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 08:51:35] local.INFO: Formatted date: 2025-07-13 08:51:35  
[2025-07-13 08:51:35] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 08:51:35] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 08:51:35] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 09:43:23] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"48.75","type":"Primary","_token":"sl8ZNGkk13YtChxYfw0GGH51lz3kbhUsQOs7knJT"} 
[2025-07-13 09:43:23] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"48.75"} 
[2025-07-13 09:43:23] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 09:43:23] local.INFO: Formatted date: 2025-07-13 09:43:23  
[2025-07-13 09:43:23] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 09:43:23] local.INFO: Weight Value: {"weight":48.75} 
[2025-07-13 09:43:23] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":48.75,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":48.75}} 
[2025-07-13 10:24:32] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 10:24:32] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:24:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"category_id":4,"workout_id":60,"weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:25:08.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},"setstrengthsetsreps":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 10:24:32] local.INFO: Strength records fetched: 1  
[2025-07-13 10:24:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":30,"category_id":4,"category_name":"Squat","workout_id":60,"workout_type":"Front squat","workoutname":"Strength Test Workout","weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 10:25:11] local.INFO: Received request data: {"_token":"P8obPiahYiL1MggWoqNf4edoUMxqlU5Y4o1W1IjO","selectdates":"13/07/25 Sunday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"Test4","categorys_1":"2","workouts_1":"40","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"6","sets_12":"2","reps_12":"6","restreds_1":"00:02:00","restyellows_1":"00:01:00","restgreens_1":"00:02:00"} 
[2025-07-13 10:25:11] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test4","categorys_1":"2","workouts_1":"40","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"6","sets_12":"2","reps_12":"6","restreds_1":"00:02:00","restyellows_1":"00:01:00","restgreens_1":"00:02:00"} 
[2025-07-13 10:25:11] local.INFO: Created Strength ID {"id":31} 
[2025-07-13 10:25:11] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"6","alt_set":null,"alt_reps":null,"strength_id":31} 
[2025-07-13 10:25:11] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"6","alt_set":null,"alt_reps":null,"strength_id":31} 
[2025-07-13 10:25:12] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 10:25:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"category_id":4,"workout_id":60,"weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:25:08.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},"setstrengthsetsreps":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}],"alt_category":null,"alt_workout":null},{"id":31,"category_id":2,"workout_id":40,"weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z","workoutname":"Test4","is_assigned":0,"category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 10:25:12] local.INFO: Strength records fetched: 2  
[2025-07-13 10:25:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":30,"category_id":4,"category_name":"Squat","workout_id":60,"workout_type":"Front squat","workoutname":"Strength Test Workout","weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}]},{"id":31,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Test4","weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 10:25:13] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:25:16] local.INFO: assigned weightlifting:  {"_token":"P8obPiahYiL1MggWoqNf4edoUMxqlU5Y4o1W1IjO","workout_id":"31","workout_type":"strength","date":"13/07/25 Sunday","assigned":"1","class_id":"9"} 
[2025-07-13 10:25:18] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:25:35] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"sl8ZNGkk13YtChxYfw0GGH51lz3kbhUsQOs7knJT"} 
[2025-07-13 10:25:35] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 10:25:35] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 10:25:35] local.INFO: Formatted date: 2025-07-13 10:25:35  
[2025-07-13 10:25:35] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 10:25:35] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 10:25:35] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 10:26:51] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"48.75","type":"Primary","_token":"sl8ZNGkk13YtChxYfw0GGH51lz3kbhUsQOs7knJT"} 
[2025-07-13 10:26:51] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"48.75"} 
[2025-07-13 10:26:51] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 10:26:51] local.INFO: Formatted date: 2025-07-13 10:26:51  
[2025-07-13 10:26:51] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 10:26:51] local.INFO: Weight Value: {"weight":48.75} 
[2025-07-13 10:26:51] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":48.75,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":48.75}} 
[2025-07-13 10:26:54] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"75.00","type":"Primary","_token":"sl8ZNGkk13YtChxYfw0GGH51lz3kbhUsQOs7knJT"} 
[2025-07-13 10:26:54] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"75.00"} 
[2025-07-13 10:26:54] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 10:26:54] local.INFO: Formatted date: 2025-07-13 10:26:54  
[2025-07-13 10:26:54] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 10:26:54] local.INFO: Weight Value: {"weight":75.0} 
[2025-07-13 10:26:54] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":75.0,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":75.0}} 
[2025-07-13 10:26:54] local.INFO: Received Request Data: {"strength_id":"31","reps":"6","weight":"22.50","type":"Primary","_token":"sl8ZNGkk13YtChxYfw0GGH51lz3kbhUsQOs7knJT"} 
[2025-07-13 10:26:54] local.INFO: Validated Data: {"strength_id":"31","type":"Primary","reps":"6","weight":"22.50"} 
[2025-07-13 10:26:54] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 10:26:54] local.INFO: Formatted date: 2025-07-13 10:26:54  
[2025-07-13 10:26:54] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 10:26:54] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 10:26:54] local.INFO: Created New DailyStrength Record: {"user_id":2,"strength_id":"31","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","created_data":{"strength_id":"31","type":"Primary","reps":"6","weight":22.5}} 
[2025-07-13 10:26:56] local.INFO: Received Request Data: {"strength_id":"31","reps":"6","weight":"75.00","type":"Primary","_token":"sl8ZNGkk13YtChxYfw0GGH51lz3kbhUsQOs7knJT"} 
[2025-07-13 10:26:56] local.INFO: Validated Data: {"strength_id":"31","type":"Primary","reps":"6","weight":"75.00"} 
[2025-07-13 10:26:56] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 10:26:56] local.INFO: Formatted date: 2025-07-13 10:26:56  
[2025-07-13 10:26:56] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 10:26:56] local.INFO: Weight Value: {"weight":75.0} 
[2025-07-13 10:26:56] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"31","date":"13/07/25 Sunday","weight":75.0,"type":"Primary","updated_data":{"strength_id":"31","type":"Primary","reps":"6","weight":75.0}} 
[2025-07-13 10:39:00] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:39:00] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 10:39:00] local.INFO: Test records fetched: 0  
[2025-07-13 10:39:00] local.INFO: Test records fetched: []  
[2025-07-13 10:39:00] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-13 10:39:04] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:39:06] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:39:06] local.INFO: return Weightlifting Request Data:   
[2025-07-13 10:39:07] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 10:39:07] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:39:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"category_id":4,"workout_id":60,"weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:25:08.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},"setstrengthsetsreps":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}],"alt_category":null,"alt_workout":null},{"id":31,"category_id":2,"workout_id":40,"weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:16.000000Z","workoutname":"Test4","is_assigned":1,"category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 10:39:07] local.INFO: Strength records fetched: 2  
[2025-07-13 10:39:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":30,"category_id":4,"category_name":"Squat","workout_id":60,"workout_type":"Front squat","workoutname":"Strength Test Workout","weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}]},{"id":31,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Test4","weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 10:39:07] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:39:09] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 10:39:09] local.INFO: Test records fetched: 0  
[2025-07-13 10:39:09] local.INFO: Test records fetched: []  
[2025-07-13 10:39:09] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-13 10:39:09] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:47:15] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-13 10:47:15] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:47:16] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 10:47:16] local.INFO: Test records fetched: 0  
[2025-07-13 10:47:16] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:47:16] local.INFO: Test records fetched: []  
[2025-07-13 10:47:16] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-13 10:47:17] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:47:24] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 10:47:24] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:47:24] local.INFO: Test records fetched: 0  
[2025-07-13 10:47:24] local.INFO: Test records fetched: []  
[2025-07-13 10:47:24] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-13 10:47:25] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:47:27] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 10:47:27] local.INFO: Test records fetched: 0  
[2025-07-13 10:47:27] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:47:27] local.INFO: Test records fetched: []  
[2025-07-13 10:47:27] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-13 10:47:28] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:47:32] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 10:47:32] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 10:47:32] local.INFO: Test records fetched: 0  
[2025-07-13 10:47:32] local.INFO: Test records fetched: []  
[2025-07-13 10:47:32] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-13 12:22:08] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-13 12:22:36] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 12:22:36] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-13 12:22:37] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 12:22:37] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 12:22:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"category_id":4,"workout_id":60,"weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:25:08.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},"setstrengthsetsreps":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}],"alt_category":null,"alt_workout":null},{"id":31,"category_id":2,"workout_id":40,"weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:16.000000Z","workoutname":"Test4","is_assigned":1,"category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 12:22:37] local.INFO: Strength records fetched: 2  
[2025-07-13 12:22:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":30,"category_id":4,"category_name":"Squat","workout_id":60,"workout_type":"Front squat","workoutname":"Strength Test Workout","weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}]},{"id":31,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Test4","weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 12:22:37] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 12:23:44] local.INFO: Received request data: {"_token":"UWXECvdyxjJKlNX5kc17ZvRZLLL6qLNU9Mr4gJ0J","selectdates":"13/07/25 Sunday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"test1","categorys_1":"4","workouts_1":"64","weigths_1":"35","setsid_1":null,"sets_1":"1","reps_1":"1","sets_12":"2","reps_12":"2","restreds_1":"00:00:15","restyellows_1":"00:00:30","restgreens_1":"00:00:15"} 
[2025-07-13 12:23:44] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"test1","categorys_1":"4","workouts_1":"64","weigths_1":"35","setsid_1":null,"sets_1":"1","reps_1":"1","sets_12":"2","reps_12":"2","restreds_1":"00:00:15","restyellows_1":"00:00:30","restgreens_1":"00:00:15"} 
[2025-07-13 12:23:44] local.INFO: Created Strength ID {"id":32} 
[2025-07-13 12:23:44] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"1","alt_set":null,"alt_reps":null,"strength_id":32} 
[2025-07-13 12:23:44] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"strength_id":32} 
[2025-07-13 12:23:46] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 12:23:46] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"category_id":4,"workout_id":60,"weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:25:08.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},"setstrengthsetsreps":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}],"alt_category":null,"alt_workout":null},{"id":31,"category_id":2,"workout_id":40,"weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:16.000000Z","workoutname":"Test4","is_assigned":1,"category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}],"alt_category":null,"alt_workout":null},{"id":32,"category_id":4,"workout_id":64,"weight":35.0,"restred":"00:00:15","restyellow":"00:00:30","restgreen":"00:00:15","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z","workoutname":"test1","is_assigned":0,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":63,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"},{"id":64,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 12:23:46] local.INFO: Strength records fetched: 3  
[2025-07-13 12:23:46] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":30,"category_id":4,"category_name":"Squat","workout_id":60,"workout_type":"Front squat","workoutname":"Strength Test Workout","weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}]},{"id":31,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Test4","weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}]},{"id":32,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"test1","weight":35.0,"restred":"00:00:15","restyellow":"00:00:30","restgreen":"00:00:15","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":63,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"},{"id":64,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 12:23:47] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 12:24:20] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 12:24:21] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-13 12:24:21] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 12:24:25] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 12:24:25] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 12:24:25] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"category_id":4,"workout_id":60,"weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:25:08.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},"setstrengthsetsreps":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}],"alt_category":null,"alt_workout":null},{"id":31,"category_id":2,"workout_id":40,"weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:16.000000Z","workoutname":"Test4","is_assigned":1,"category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}],"alt_category":null,"alt_workout":null},{"id":32,"category_id":4,"workout_id":64,"weight":35.0,"restred":"00:00:15","restyellow":"00:00:30","restgreen":"00:00:15","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z","workoutname":"test1","is_assigned":0,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":63,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"},{"id":64,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 12:24:25] local.INFO: Strength records fetched: 3  
[2025-07-13 12:24:25] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":30,"category_id":4,"category_name":"Squat","workout_id":60,"workout_type":"Front squat","workoutname":"Strength Test Workout","weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}]},{"id":31,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Test4","weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}]},{"id":32,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"test1","weight":35.0,"restred":"00:00:15","restyellow":"00:00:30","restgreen":"00:00:15","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":63,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"},{"id":64,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 12:24:29] local.INFO: assigned weightlifting:  {"_token":"UWXECvdyxjJKlNX5kc17ZvRZLLL6qLNU9Mr4gJ0J","workout_id":"32","workout_type":"strength","date":"13/07/25 Sunday","assigned":"1","class_id":"11"} 
[2025-07-13 12:24:31] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 12:26:24] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 12:26:25] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 12:26:25] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-13 12:26:27] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 12:26:27] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 12:26:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"category_id":4,"workout_id":60,"weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:25:08.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},"setstrengthsetsreps":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}],"alt_category":null,"alt_workout":null},{"id":31,"category_id":2,"workout_id":40,"weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:16.000000Z","workoutname":"Test4","is_assigned":1,"category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}],"alt_category":null,"alt_workout":null},{"id":32,"category_id":4,"workout_id":64,"weight":35.0,"restred":"00:00:15","restyellow":"00:00:30","restgreen":"00:00:15","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:24:29.000000Z","workoutname":"test1","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":63,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"},{"id":64,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 12:26:27] local.INFO: Strength records fetched: 3  
[2025-07-13 12:26:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":30,"category_id":4,"category_name":"Squat","workout_id":60,"workout_type":"Front squat","workoutname":"Strength Test Workout","weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}]},{"id":31,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Test4","weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}]},{"id":32,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"test1","weight":35.0,"restred":"00:00:15","restyellow":"00:00:30","restgreen":"00:00:15","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":63,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"},{"id":64,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 12:26:38] local.INFO: Received Request Data: {"strength_id":"32","reps":"1","weight":"10.50","type":"Primary","_token":"MXBiFeUvW66dzy7qaQM5l1jiktDQPGRJzNie3LR8"} 
[2025-07-13 12:26:38] local.INFO: Validated Data: {"strength_id":"32","type":"Primary","reps":"1","weight":"10.50"} 
[2025-07-13 12:26:38] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 12:26:38] local.INFO: Formatted date: 2025-07-13 12:26:38  
[2025-07-13 12:26:38] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 12:26:38] local.INFO: Weight Value: {"weight":10.5} 
[2025-07-13 12:26:38] local.INFO: Created New DailyStrength Record: {"user_id":2,"strength_id":"32","date":"13/07/25 Sunday","weight":10.5,"type":"Primary","created_data":{"strength_id":"32","type":"Primary","reps":"1","weight":10.5}} 
[2025-07-13 12:53:22] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-13 12:54:09] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"sJv44JRKU1acBuHQcsjPVszBI1kgJhgD4U4i9K1F"} 
[2025-07-13 12:54:09] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 12:54:09] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 12:54:09] local.INFO: Formatted date: 2025-07-13 12:54:09  
[2025-07-13 12:54:09] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 12:54:09] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 12:54:09] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 12:55:17] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"48.75","type":"Primary","_token":"sJv44JRKU1acBuHQcsjPVszBI1kgJhgD4U4i9K1F"} 
[2025-07-13 12:55:17] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"48.75"} 
[2025-07-13 12:55:17] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 12:55:17] local.INFO: Formatted date: 2025-07-13 12:55:17  
[2025-07-13 12:55:17] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 12:55:17] local.INFO: Weight Value: {"weight":48.75} 
[2025-07-13 12:55:17] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":48.75,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":48.75}} 
[2025-07-13 12:59:17] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"75.00","type":"Primary","_token":"sJv44JRKU1acBuHQcsjPVszBI1kgJhgD4U4i9K1F"} 
[2025-07-13 12:59:17] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"75.00"} 
[2025-07-13 12:59:17] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 12:59:17] local.INFO: Formatted date: 2025-07-13 12:59:17  
[2025-07-13 12:59:17] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 12:59:17] local.INFO: Weight Value: {"weight":75.0} 
[2025-07-13 12:59:17] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":75.0,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":75.0}} 
[2025-07-13 12:59:22] local.INFO: Received Request Data: {"strength_id":"31","reps":"6","weight":"22.50","type":"Primary","_token":"sJv44JRKU1acBuHQcsjPVszBI1kgJhgD4U4i9K1F"} 
[2025-07-13 12:59:22] local.INFO: Validated Data: {"strength_id":"31","type":"Primary","reps":"6","weight":"22.50"} 
[2025-07-13 12:59:22] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 12:59:22] local.INFO: Formatted date: 2025-07-13 12:59:22  
[2025-07-13 12:59:22] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 12:59:22] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 12:59:22] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"31","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"31","type":"Primary","reps":"6","weight":22.5}} 
[2025-07-13 12:59:42] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"sJv44JRKU1acBuHQcsjPVszBI1kgJhgD4U4i9K1F"} 
[2025-07-13 12:59:42] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 12:59:42] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 12:59:42] local.INFO: Formatted date: 2025-07-13 12:59:42  
[2025-07-13 12:59:42] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 12:59:42] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 12:59:42] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 13:15:04] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"MXBiFeUvW66dzy7qaQM5l1jiktDQPGRJzNie3LR8"} 
[2025-07-13 13:15:04] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 13:15:04] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 13:15:04] local.INFO: Formatted date: 2025-07-13 13:15:04  
[2025-07-13 13:15:04] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 13:15:04] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 13:15:04] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 13:15:30] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"MXBiFeUvW66dzy7qaQM5l1jiktDQPGRJzNie3LR8"} 
[2025-07-13 13:15:30] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 13:15:30] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 13:15:30] local.INFO: Formatted date: 2025-07-13 13:15:30  
[2025-07-13 13:15:30] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 13:15:30] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 13:15:30] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 13:17:07] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"48.75","type":"Primary","_token":"sJv44JRKU1acBuHQcsjPVszBI1kgJhgD4U4i9K1F"} 
[2025-07-13 13:17:07] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"48.75"} 
[2025-07-13 13:17:07] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 13:17:07] local.INFO: Formatted date: 2025-07-13 13:17:07  
[2025-07-13 13:17:07] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 13:17:07] local.INFO: Weight Value: {"weight":48.75} 
[2025-07-13 13:17:07] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":48.75,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":48.75}} 
[2025-07-13 13:17:14] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"MXBiFeUvW66dzy7qaQM5l1jiktDQPGRJzNie3LR8"} 
[2025-07-13 13:17:14] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 13:17:14] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 13:17:14] local.INFO: Formatted date: 2025-07-13 13:17:14  
[2025-07-13 13:17:14] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 13:17:14] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 13:17:14] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 13:19:34] local.INFO: Received Request Data: {"strength_id":"31","reps":"6","weight":"22.50","type":"Primary","_token":"sJv44JRKU1acBuHQcsjPVszBI1kgJhgD4U4i9K1F"} 
[2025-07-13 13:19:34] local.INFO: Validated Data: {"strength_id":"31","type":"Primary","reps":"6","weight":"22.50"} 
[2025-07-13 13:19:34] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 13:19:34] local.INFO: Formatted date: 2025-07-13 13:19:34  
[2025-07-13 13:19:34] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 13:19:34] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 13:19:34] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"31","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"31","type":"Primary","reps":"6","weight":22.5}} 
[2025-07-13 13:19:55] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"sJv44JRKU1acBuHQcsjPVszBI1kgJhgD4U4i9K1F"} 
[2025-07-13 13:19:55] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 13:19:55] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 13:19:55] local.INFO: Formatted date: 2025-07-13 13:19:55  
[2025-07-13 13:19:55] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 13:19:55] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 13:19:55] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 13:20:19] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"kaaSWbiIeovYv7d833Hrt9odTzjdnKemUp7QVW85"} 
[2025-07-13 13:20:19] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 13:20:19] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 13:20:19] local.INFO: Formatted date: 2025-07-13 13:20:19  
[2025-07-13 13:20:19] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 13:20:19] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 13:20:19] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 13:21:32] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"kaaSWbiIeovYv7d833Hrt9odTzjdnKemUp7QVW85"} 
[2025-07-13 13:21:32] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 13:21:32] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 13:21:32] local.INFO: Formatted date: 2025-07-13 13:21:32  
[2025-07-13 13:21:32] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 13:21:32] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 13:21:32] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 13:22:54] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"ofacI1O4inOYplHx5AHj8O5TYRdTGd4IBbnw3Y9F"} 
[2025-07-13 13:22:54] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 13:22:54] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 13:22:54] local.INFO: Formatted date: 2025-07-13 13:22:54  
[2025-07-13 13:22:54] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 13:22:54] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 13:22:54] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 13:22:58] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"K3yVZ4C9san1tCyLzwouEgdBGjDq3Y45k0Wg3ttx"} 
[2025-07-13 13:22:58] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 13:22:58] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 13:22:58] local.INFO: Formatted date: 2025-07-13 13:22:58  
[2025-07-13 13:22:58] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 13:22:58] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 13:22:58] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 13:24:25] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"48.75","type":"Primary","_token":"jsdrSZM01Ei8QMgUcyC0sh236Ufm8cvMWzwUn0LY"} 
[2025-07-13 13:24:25] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"48.75"} 
[2025-07-13 13:24:25] local.WARNING: User is not authenticated.  
[2025-07-13 14:09:36] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"K3yVZ4C9san1tCyLzwouEgdBGjDq3Y45k0Wg3ttx"} 
[2025-07-13 14:09:36] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 14:09:36] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 14:09:36] local.INFO: Formatted date: 2025-07-13 14:09:36  
[2025-07-13 14:09:36] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 14:09:36] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 14:09:36] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 14:09:44] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"48.75","type":"Primary","_token":"K3yVZ4C9san1tCyLzwouEgdBGjDq3Y45k0Wg3ttx"} 
[2025-07-13 14:09:44] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"48.75"} 
[2025-07-13 14:09:44] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 14:09:44] local.INFO: Formatted date: 2025-07-13 14:09:44  
[2025-07-13 14:09:44] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 14:09:44] local.INFO: Weight Value: {"weight":48.75} 
[2025-07-13 14:09:44] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":48.75,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":48.75}} 
[2025-07-13 16:14:29] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 16:14:30] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 16:14:30] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-13 16:14:31] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 16:14:31] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 16:14:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"category_id":4,"workout_id":60,"weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:25:08.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},"setstrengthsetsreps":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}],"alt_category":null,"alt_workout":null},{"id":31,"category_id":2,"workout_id":40,"weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:16.000000Z","workoutname":"Test4","is_assigned":1,"category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}],"alt_category":null,"alt_workout":null},{"id":32,"category_id":4,"workout_id":64,"weight":35.0,"restred":"00:00:15","restyellow":"00:00:30","restgreen":"00:00:15","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:24:29.000000Z","workoutname":"test1","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":63,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"},{"id":64,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 16:14:31] local.INFO: Strength records fetched: 3  
[2025-07-13 16:14:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":30,"category_id":4,"category_name":"Squat","workout_id":60,"workout_type":"Front squat","workoutname":"Strength Test Workout","weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}]},{"id":31,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Test4","weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}]},{"id":32,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"test1","weight":35.0,"restred":"00:00:15","restyellow":"00:00:30","restgreen":"00:00:15","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":63,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"},{"id":64,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 16:14:37] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 16:14:37] local.INFO: return Weightlifting Request Data:   
[2025-07-13 16:14:38] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 16:14:45] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 16:14:45] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 16:14:45] local.INFO: Test records fetched: 0  
[2025-07-13 16:14:45] local.INFO: Test records fetched: []  
[2025-07-13 16:14:45] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-13 16:15:02] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 16:15:02] local.INFO: Test records fetched: 1  
[2025-07-13 16:15:02] local.INFO: Test records fetched: [{"id":4,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":2,"member_name":null}]  
[2025-07-13 16:15:02] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":4,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"workout_name":"Bench","member_id":2,"member_name":null}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-13 16:15:02] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 16:16:27] local.INFO: Received date: 13/07/25 Sunday  
[2025-07-13 16:16:27] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-07-13 16:16:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"category_id":4,"workout_id":60,"weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:25:08.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},"setstrengthsetsreps":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}],"alt_category":null,"alt_workout":null},{"id":31,"category_id":2,"workout_id":40,"weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:16.000000Z","workoutname":"Test4","is_assigned":1,"category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}],"alt_category":null,"alt_workout":null},{"id":32,"category_id":4,"workout_id":64,"weight":35.0,"restred":"00:00:15","restyellow":"00:00:30","restgreen":"00:00:15","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:24:29.000000Z","workoutname":"test1","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":63,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"},{"id":64,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-13 16:16:27] local.INFO: Strength records fetched: 3  
[2025-07-13 16:16:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":30,"category_id":4,"category_name":"Squat","workout_id":60,"workout_type":"Front squat","workoutname":"Strength Test Workout","weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}]},{"id":31,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Test4","weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}]},{"id":32,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"test1","weight":35.0,"restred":"00:00:15","restyellow":"00:00:30","restgreen":"00:00:15","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":63,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"},{"id":64,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-13 16:16:36] local.INFO: Received Request Data: {"strength_id":"32","reps":"1","weight":"10.50","type":"Primary","_token":"k5ksrz8KDulXgZEGiZF500VgUppuj3EkYVY4JibF"} 
[2025-07-13 16:16:36] local.INFO: Validated Data: {"strength_id":"32","type":"Primary","reps":"1","weight":"10.50"} 
[2025-07-13 16:16:36] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 16:16:36] local.INFO: Formatted date: 2025-07-13 16:16:36  
[2025-07-13 16:16:36] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 16:16:36] local.INFO: Weight Value: {"weight":10.5} 
[2025-07-13 16:16:36] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"32","date":"13/07/25 Sunday","weight":10.5,"type":"Primary","updated_data":{"strength_id":"32","type":"Primary","reps":"1","weight":10.5}} 
[2025-07-13 16:30:16] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"k5ksrz8KDulXgZEGiZF500VgUppuj3EkYVY4JibF"} 
[2025-07-13 16:30:16] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 16:30:16] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 16:30:16] local.INFO: Formatted date: 2025-07-13 16:30:16  
[2025-07-13 16:30:16] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 16:30:16] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 16:30:16] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 16:31:08] local.INFO: Received Request Data: {"strength_id":"32","reps":"1","weight":"10.50","type":"Primary","_token":"k5ksrz8KDulXgZEGiZF500VgUppuj3EkYVY4JibF"} 
[2025-07-13 16:31:08] local.INFO: Validated Data: {"strength_id":"32","type":"Primary","reps":"1","weight":"10.50"} 
[2025-07-13 16:31:08] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 16:31:08] local.INFO: Formatted date: 2025-07-13 16:31:08  
[2025-07-13 16:31:08] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 16:31:08] local.INFO: Weight Value: {"weight":10.5} 
[2025-07-13 16:31:08] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"32","date":"13/07/25 Sunday","weight":10.5,"type":"Primary","updated_data":{"strength_id":"32","type":"Primary","reps":"1","weight":10.5}} 
[2025-07-13 17:37:05] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"k5ksrz8KDulXgZEGiZF500VgUppuj3EkYVY4JibF"} 
[2025-07-13 17:37:05] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 17:37:05] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 17:37:05] local.INFO: Formatted date: 2025-07-13 17:37:05  
[2025-07-13 17:37:05] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 17:37:05] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 17:37:05] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 22:09:57] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"22.50","type":"Primary","_token":"m4BdtLnTi8wPZ0x6Cuk0U3EDDPDRlFY2jN4AeRXx"} 
[2025-07-13 22:09:57] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"22.50"} 
[2025-07-13 22:09:57] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 22:09:57] local.INFO: Formatted date: 2025-07-13 22:09:57  
[2025-07-13 22:09:57] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 22:09:57] local.INFO: Weight Value: {"weight":22.5} 
[2025-07-13 22:09:57] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":22.5,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":22.5}} 
[2025-07-13 22:12:17] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"48.75","type":"Primary","_token":"m4BdtLnTi8wPZ0x6Cuk0U3EDDPDRlFY2jN4AeRXx"} 
[2025-07-13 22:12:17] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"48.75"} 
[2025-07-13 22:12:17] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 22:12:17] local.INFO: Formatted date: 2025-07-13 22:12:17  
[2025-07-13 22:12:17] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 22:12:17] local.INFO: Weight Value: {"weight":48.75} 
[2025-07-13 22:12:17] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":48.75,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":48.75}} 
[2025-07-13 22:12:31] local.INFO: Received Request Data: {"strength_id":"30","reps":"4","weight":"75.00","type":"Primary","_token":"m4BdtLnTi8wPZ0x6Cuk0U3EDDPDRlFY2jN4AeRXx"} 
[2025-07-13 22:12:31] local.INFO: Validated Data: {"strength_id":"30","type":"Primary","reps":"4","weight":"75.00"} 
[2025-07-13 22:12:31] local.INFO: Stored day from session: 13/07/2025  
[2025-07-13 22:12:31] local.INFO: Formatted date: 2025-07-13 22:12:31  
[2025-07-13 22:12:31] local.INFO: Formatted Date: {"date":"13/07/25"} 
[2025-07-13 22:12:31] local.INFO: Weight Value: {"weight":75.0} 
[2025-07-13 22:12:31] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"30","date":"13/07/25 Sunday","weight":75.0,"type":"Primary","updated_data":{"strength_id":"30","type":"Primary","reps":"4","weight":75.0}} 
[2025-07-14 01:28:24] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 01:28:25] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-14 01:28:25] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 01:28:41] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 01:28:41] local.INFO: Test records fetched: 0  
[2025-07-14 01:28:41] local.INFO: Test records fetched: []  
[2025-07-14 01:28:41] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-14 01:28:41] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 01:28:42] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 01:29:18] local.INFO: Incoming Conditioning Request Data:  {"_token":"38NrRgPb0doCGoEy85HWKxMRLZImjm78SJpxXkrb","selectdatec":"14/07/25 Monday","rounds":null,"amrap":"on","conditioning_id":null,"namec_1":"Test Conditioning","categoryc_1":"8","workoutc_1":"103","weigthc_1":"100","unit_1":"%","roundCond":null,"amrapCheckboxCon":"on","repsc_1":"10","timeTC_1":"04:07"} 
[2025-07-14 01:29:20] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 01:29:36] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 01:29:37] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-14 01:29:37] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 01:29:38] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 01:29:40] local.INFO: assigned weightlifting:  {"_token":"38NrRgPb0doCGoEy85HWKxMRLZImjm78SJpxXkrb","workout_id":"12","workout_type":"conditioning","date":"14/07/25 Monday","assigned":"1","class_id":"12"} 
[2025-07-14 01:29:41] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 01:39:24] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 01:39:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-14 01:39:24] local.INFO: Strength records fetched: 0  
[2025-07-14 01:39:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 01:39:24] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 01:39:50] local.INFO: Received request data: {"_token":"38NrRgPb0doCGoEy85HWKxMRLZImjm78SJpxXkrb","selectdates":"14/07/25 Monday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"Strength Test","categorys_1":"5","workouts_1":"71","weigths_1":"85","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","restreds_1":"00:02:00","restyellows_1":"00:01:00","restgreens_1":"00:00:30"} 
[2025-07-14 01:39:50] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Strength Test","categorys_1":"5","workouts_1":"71","weigths_1":"85","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","restreds_1":"00:02:00","restyellows_1":"00:01:00","restgreens_1":"00:00:30"} 
[2025-07-14 01:39:50] local.INFO: Created Strength ID {"id":33} 
[2025-07-14 01:39:50] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"strength_id":33} 
[2025-07-14 01:39:50] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","alt_set":null,"alt_reps":null,"strength_id":33} 
[2025-07-14 01:39:50] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","alt_set":null,"alt_reps":null,"strength_id":33} 
[2025-07-14 01:39:51] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 01:39:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z","workoutname":"Strength Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 01:39:51] local.INFO: Strength records fetched: 1  
[2025-07-14 01:39:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 01:39:51] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 01:39:55] local.INFO: assigned weightlifting:  {"_token":"38NrRgPb0doCGoEy85HWKxMRLZImjm78SJpxXkrb","workout_id":"33","workout_type":"strength","date":"14/07/25 Monday","assigned":"1","class_id":"12"} 
[2025-07-14 01:39:56] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 01:40:13] local.INFO: Received Request Data: {"strength_id":"33","reps":"5","weight":"25.50","type":"Primary","_token":"Ft2zilR0w8fXAFkt4T9XWaLkcm6oGXKKZsfgXXYJ"} 
[2025-07-14 01:40:13] local.INFO: Validated Data: {"strength_id":"33","type":"Primary","reps":"5","weight":"25.50"} 
[2025-07-14 01:40:13] local.INFO: Stored day from session: 14/07/2025  
[2025-07-14 01:40:13] local.INFO: Formatted date: 2025-07-14 01:40:13  
[2025-07-14 01:40:13] local.INFO: Formatted Date: {"date":"14/07/25"} 
[2025-07-14 01:40:13] local.INFO: Weight Value: {"weight":25.5} 
[2025-07-14 01:40:13] local.INFO: Created New DailyStrength Record: {"user_id":2,"strength_id":"33","date":"14/07/25 Monday","weight":25.5,"type":"Primary","created_data":{"strength_id":"33","type":"Primary","reps":"5","weight":25.5}} 
[2025-07-14 02:00:07] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:09:20] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:09:21] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-14 02:09:21] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:09:24] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:09:24] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:09:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:55.000000Z","workoutname":"Strength Test","is_assigned":1,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 02:09:24] local.INFO: Strength records fetched: 1  
[2025-07-14 02:09:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 02:09:26] local.INFO: return Weightlifting Request Data:   
[2025-07-14 02:09:26] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:09:29] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:09:30] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:09:30] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:09:30] local.INFO: Test records fetched: 0  
[2025-07-14 02:09:30] local.INFO: Test records fetched: []  
[2025-07-14 02:09:30] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-14 02:09:58] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:09:58] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:09:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:55.000000Z","workoutname":"Strength Test","is_assigned":1,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 02:09:58] local.INFO: Strength records fetched: 1  
[2025-07-14 02:09:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 02:18:53] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:18:53] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:18:53] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-14 02:19:07] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:19:07] local.INFO: Test records fetched: 0  
[2025-07-14 02:19:07] local.INFO: Test records fetched: []  
[2025-07-14 02:19:07] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-14 02:19:07] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:19:10] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:19:12] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:19:23] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:19:23] local.INFO: Test records fetched: 0  
[2025-07-14 02:19:23] local.INFO: Test records fetched: []  
[2025-07-14 02:19:23] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-14 02:19:23] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:19:27] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:19:31] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:19:31] local.INFO: return Weightlifting Request Data:   
[2025-07-14 02:19:32] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:19:32] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:19:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:55.000000Z","workoutname":"Strength Test","is_assigned":1,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 02:19:32] local.INFO: Strength records fetched: 1  
[2025-07-14 02:19:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 02:20:32] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:20:33] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:20:33] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:20:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:55.000000Z","workoutname":"Strength Test","is_assigned":1,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 02:20:33] local.INFO: Strength records fetched: 1  
[2025-07-14 02:20:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 02:20:34] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:20:34] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:20:34] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:20:34] local.INFO: Test records fetched: 0  
[2025-07-14 02:20:34] local.INFO: Test records fetched: []  
[2025-07-14 02:20:34] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-14 02:20:36] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:20:43] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:20:43] local.INFO: Test records fetched: 0  
[2025-07-14 02:20:43] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:20:43] local.INFO: Test records fetched: []  
[2025-07-14 02:20:43] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-14 02:22:17] local.INFO: Received Request Data: {"strength_id":"33","reps":"5","weight":"25.50","type":"Primary","_token":"Ft2zilR0w8fXAFkt4T9XWaLkcm6oGXKKZsfgXXYJ"} 
[2025-07-14 02:22:17] local.INFO: Validated Data: {"strength_id":"33","type":"Primary","reps":"5","weight":"25.50"} 
[2025-07-14 02:22:17] local.INFO: Stored day from session: 14/07/2025  
[2025-07-14 02:22:17] local.INFO: Formatted date: 2025-07-14 02:22:17  
[2025-07-14 02:22:17] local.INFO: Formatted Date: {"date":"14/07/25"} 
[2025-07-14 02:22:17] local.INFO: Weight Value: {"weight":25.5} 
[2025-07-14 02:22:17] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"33","date":"14/07/25 Monday","weight":25.5,"type":"Primary","updated_data":{"strength_id":"33","type":"Primary","reps":"5","weight":25.5}} 
[2025-07-14 02:22:41] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:22:42] local.INFO: return Weightlifting Request Data:   
[2025-07-14 02:22:42] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:22:42] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:22:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:55.000000Z","workoutname":"Strength Test","is_assigned":1,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 02:22:42] local.INFO: Strength records fetched: 1  
[2025-07-14 02:22:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 02:22:47] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:23:34] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:23:34] local.INFO: return Weightlifting Request Data:   
[2025-07-14 02:23:36] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:52:48] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:52:48] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-14 02:52:48] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:52:55] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:52:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T02:22:45.000000Z","workoutname":"Strength Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 02:52:55] local.INFO: Strength records fetched: 1  
[2025-07-14 02:52:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 02:52:55] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:52:59] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:52:59] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-14 02:53:00] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:53:01] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:53:01] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:53:01] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T02:22:45.000000Z","workoutname":"Strength Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 02:53:01] local.INFO: Strength records fetched: 1  
[2025-07-14 02:53:01] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 02:53:02] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:53:02] local.INFO: return Weightlifting Request Data:   
[2025-07-14 02:53:04] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:53:14] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 02:53:14] local.INFO: return Weightlifting Request Data:   
[2025-07-14 02:53:14] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 02:53:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T02:22:45.000000Z","workoutname":"Strength Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 02:53:14] local.INFO: Strength records fetched: 1  
[2025-07-14 02:53:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 02:53:14] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 03:48:34] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 03:48:35] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-14 03:48:35] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 03:48:49] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 03:48:49] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T02:22:45.000000Z","workoutname":"Strength Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 03:48:49] local.INFO: Strength records fetched: 1  
[2025-07-14 03:48:49] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 03:48:49] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 03:50:01] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 03:50:02] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-14 03:50:02] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 03:50:28] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 03:50:28] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-14 03:50:29] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 03:50:41] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 03:50:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T02:22:45.000000Z","workoutname":"Strength Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 03:50:41] local.INFO: Strength records fetched: 1  
[2025-07-14 03:50:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 03:50:41] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 03:52:38] local.INFO: Received request data: {"_token":"Qyc2mlp7Xvt1gLRu9vhpRPECgImY0HWUeelQNfX8","selectdates":"14/07/25 Monday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"14/07/25","categorys_1":"4","workouts_1":"17","weigths_1":"85","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"3","restreds_1":"00:02:00","restyellows_1":"00:03:00","restgreens_1":"00:04:00","intensitys_1":"high"} 
[2025-07-14 03:52:38] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"14/07/25","categorys_1":"4","workouts_1":"17","weigths_1":"85","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"3","restreds_1":"00:02:00","restyellows_1":"00:03:00","restgreens_1":"00:04:00","intensitys_1":"high"} 
[2025-07-14 03:52:38] local.INFO: Created Strength ID {"id":34} 
[2025-07-14 03:52:38] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"strength_id":34} 
[2025-07-14 03:52:38] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"strength_id":34} 
[2025-07-14 03:52:38] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"3","alt_set":null,"alt_reps":null,"strength_id":34} 
[2025-07-14 03:52:41] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 03:52:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T02:22:45.000000Z","workoutname":"Strength Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":34,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:02:00","restyellow":"00:03:00","restgreen":"00:04:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z","workoutname":"14/07/25","is_assigned":0,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":68,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":69,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":70,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 03:52:41] local.INFO: Strength records fetched: 2  
[2025-07-14 03:52:41] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 03:52:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]},{"id":34,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"14/07/25","weight":85.0,"restred":"00:02:00","restyellow":"00:03:00","restgreen":"00:04:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":68,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":69,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":70,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 03:52:54] local.INFO: assigned weightlifting:  {"_token":"Qyc2mlp7Xvt1gLRu9vhpRPECgImY0HWUeelQNfX8","workout_id":"34","workout_type":"strength","date":"14/07/25 Monday","assigned":"1","class_id":"13"} 
[2025-07-14 03:52:56] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 03:54:04] local.INFO: Request Data dd: {"request":{"_token":"Qyc2mlp7Xvt1gLRu9vhpRPECgImY0HWUeelQNfX8","selectdates":"14/07/25 Monday","selecttabs":"strength","name_1":null,"strength_id":"34","names_1":"14/07/25","categorys_1":"4","weigths_1":"85","setsid_1":"68","sets_1":"1","reps_1":"3","setsid_12":"69","sets_12":"2","reps_12":"3","setsid_13":"70","sets_13":"3","reps_13":"3","restreds_1":"00:02:00","restyellows_1":"00:03:00","restgreens_1":"00:04:00","intensitys_1":"high"}} 
[2025-07-14 03:54:04] local.INFO: Updated Set ID 68: sets=1, reps=3  
[2025-07-14 03:54:04] local.INFO: Updated Set ID 69: sets=2, reps=3  
[2025-07-14 03:54:04] local.INFO: Updated Set ID 70: sets=3, reps=3  
[2025-07-14 03:54:06] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 03:54:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T02:22:45.000000Z","workoutname":"Strength Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":34,"category_id":4,"workout_id":null,"weight":85.0,"restred":"00:02:00","restyellow":"00:03:00","restgreen":"00:04:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:54:04.000000Z","workoutname":"14/07/25","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":null,"setstrengthsetsreps":[{"id":68,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":69,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":70,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 03:54:06] local.INFO: Strength records fetched: 2  
[2025-07-14 03:54:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]},{"id":34,"category_id":4,"category_name":"Squat","workout_id":null,"workout_type":null,"workoutname":"14/07/25","weight":85.0,"restred":"00:02:00","restyellow":"00:03:00","restgreen":"00:04:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":68,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":69,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":70,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 03:54:07] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 03:54:33] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 04:01:36] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 04:01:36] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 04:01:36] local.INFO: Test records fetched: 0  
[2025-07-14 04:01:36] local.INFO: Test records fetched: []  
[2025-07-14 04:01:36] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-14 04:02:21] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 04:02:21] local.INFO: return Weightlifting Request Data:   
[2025-07-14 04:02:25] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 04:03:57] local.INFO: Received Request Data: {"strength_id":"34","reps":"3","weight":"25.50","type":"Primary","_token":"Ft2zilR0w8fXAFkt4T9XWaLkcm6oGXKKZsfgXXYJ"} 
[2025-07-14 04:03:57] local.INFO: Validated Data: {"strength_id":"34","type":"Primary","reps":"3","weight":"25.50"} 
[2025-07-14 04:03:57] local.INFO: Stored day from session: 14/07/2025  
[2025-07-14 04:03:57] local.INFO: Formatted date: 2025-07-14 04:03:57  
[2025-07-14 04:03:57] local.INFO: Formatted Date: {"date":"14/07/25"} 
[2025-07-14 04:03:57] local.INFO: Weight Value: {"weight":25.5} 
[2025-07-14 04:03:57] local.INFO: Created New DailyStrength Record: {"user_id":2,"strength_id":"34","date":"14/07/25 Monday","weight":25.5,"type":"Primary","created_data":{"strength_id":"34","type":"Primary","reps":"3","weight":25.5}} 
[2025-07-14 04:06:07] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 04:06:07] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 04:06:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T02:22:45.000000Z","workoutname":"Strength Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":34,"category_id":4,"workout_id":null,"weight":85.0,"restred":"00:02:00","restyellow":"00:03:00","restgreen":"00:04:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:54:04.000000Z","workoutname":"14/07/25","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":null,"setstrengthsetsreps":[{"id":68,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":69,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":70,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 04:06:07] local.INFO: Strength records fetched: 2  
[2025-07-14 04:06:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]},{"id":34,"category_id":4,"category_name":"Squat","workout_id":null,"workout_type":null,"workoutname":"14/07/25","weight":85.0,"restred":"00:02:00","restyellow":"00:03:00","restgreen":"00:04:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":68,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":69,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":70,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-14 04:11:44] local.INFO: Received Request Data: {"strength_id":"34","reps":"3","weight":"55.25","type":"Primary","_token":"Ft2zilR0w8fXAFkt4T9XWaLkcm6oGXKKZsfgXXYJ"} 
[2025-07-14 04:11:44] local.INFO: Validated Data: {"strength_id":"34","type":"Primary","reps":"3","weight":"55.25"} 
[2025-07-14 04:11:44] local.INFO: Stored day from session: 14/07/2025  
[2025-07-14 04:11:44] local.INFO: Formatted date: 2025-07-14 04:11:44  
[2025-07-14 04:11:44] local.INFO: Formatted Date: {"date":"14/07/25"} 
[2025-07-14 04:11:44] local.INFO: Weight Value: {"weight":55.25} 
[2025-07-14 04:11:44] local.INFO: Updated DailyStrength Record: {"user_id":2,"strength_id":"34","date":"14/07/25 Monday","weight":55.25,"type":"Primary","updated_data":{"strength_id":"34","type":"Primary","reps":"3","weight":55.25}} 
[2025-07-14 05:03:28] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 05:03:28] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-14 05:03:28] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 05:03:30] local.INFO: Received date: 14/07/25 Monday  
[2025-07-14 05:03:30] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-07-14 05:03:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T02:22:45.000000Z","workoutname":"Strength Test","is_assigned":0,"category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":34,"category_id":4,"workout_id":null,"weight":85.0,"restred":"00:02:00","restyellow":"00:03:00","restgreen":"00:04:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/07/25 Monday","created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:54:04.000000Z","workoutname":"14/07/25","is_assigned":1,"category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":null,"setstrengthsetsreps":[{"id":68,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":69,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":70,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-07-14 05:03:30] local.INFO: Strength records fetched: 2  
[2025-07-14 05:03:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":33,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Strength Test","weight":85.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:00:30","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":65,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":66,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"},{"id":67,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":33,"created_at":"2025-07-14T01:39:50.000000Z","updated_at":"2025-07-14T01:39:50.000000Z"}]},{"id":34,"category_id":4,"category_name":"Squat","workout_id":null,"workout_type":null,"workoutname":"14/07/25","weight":85.0,"restred":"00:02:00","restyellow":"00:03:00","restgreen":"00:04:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/07/25 Monday","sets":[{"id":68,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":69,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"},{"id":70,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":34,"created_at":"2025-07-14T03:52:38.000000Z","updated_at":"2025-07-14T03:52:38.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-15 09:42:48] local.INFO: Day received: {"day":"15/07/25 Tuesday"} 
[2025-07-15 09:42:48] local.INFO: Day received: {"day":"15/07/25 Tuesday"} 
[2025-07-15 09:42:48] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-15 09:42:50] local.INFO: Day received: {"day":"15/07/25 Tuesday"} 
[2025-07-15 09:42:50] local.INFO: Day received: {"day":"15/07/25 Tuesday"} 
[2025-07-15 09:42:50] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-15 09:42:52] local.INFO: Day received: {"day":"15/07/25 Tuesday"} 
[2025-07-16 10:08:30] local.INFO: Day received: {"day":"16/07/25 Wednesday"} 
[2025-07-16 10:08:31] local.INFO: Tab value: warmup  
[2025-07-16 10:08:31] local.INFO: Tab value: strength  
[2025-07-16 10:08:31] local.INFO: Tab value: conditioning  
[2025-07-16 10:08:31] local.INFO: Tab value: weightlifting  
[2025-07-16 10:08:31] local.INFO: Tab value: test  
[2025-07-16 10:08:31] local.INFO: Tab value: test  
[2025-07-16 10:08:31] local.INFO: Day received: {"day":"16/07/25 Wednesday"} 
[2025-07-16 10:08:31] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-16 10:08:52] local.INFO: Received date: 16/07/25 Wednesday  
[2025-07-16 10:08:52] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-16 10:08:52] local.INFO: Strength records fetched: 0  
[2025-07-16 10:08:52] local.INFO: Day received: {"day":"16/07/25 Wednesday"} 
[2025-07-16 10:08:52] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-16 10:08:53] local.INFO: Day received: {"day":"16/07/25 Wednesday"} 
[2025-07-16 10:08:53] local.INFO: return Weightlifting Request Data:   
[2025-07-16 10:08:57] local.INFO: Day received: {"day":"16/07/25 Wednesday"} 
[2025-07-17 00:09:35] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 00:09:35] local.INFO: Tab value: warmup  
[2025-07-17 00:09:35] local.INFO: Tab value: strength  
[2025-07-17 00:09:35] local.INFO: Tab value: conditioning  
[2025-07-17 00:09:36] local.INFO: Tab value: test  
[2025-07-17 00:09:36] local.INFO: Tab value: weightlifting  
[2025-07-17 00:09:36] local.INFO: Tab value: test  
[2025-07-17 00:09:36] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 00:09:36] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-17 00:09:37] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 00:12:08] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 00:12:08] local.INFO: Received date: 17/07/25 Thursday  
[2025-07-17 00:12:08] local.INFO: Test records fetched: 0  
[2025-07-17 00:12:08] local.INFO: Test records fetched: []  
[2025-07-17 00:12:08] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-17 00:12:42] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 00:49:22] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 00:49:23] local.INFO: Tab value: warmup  
[2025-07-17 00:49:23] local.INFO: Tab value: strength  
[2025-07-17 00:49:23] local.INFO: Tab value: conditioning  
[2025-07-17 00:49:23] local.INFO: Tab value: test  
[2025-07-17 00:49:23] local.INFO: Tab value: test  
[2025-07-17 00:49:23] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-17 00:49:23] local.INFO: Tab value: weightlifting  
[2025-07-17 00:49:23] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 00:49:25] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 01:03:46] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 01:04:03] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 01:04:03] local.INFO: Received date: 17/07/25 Thursday  
[2025-07-17 01:04:03] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-17 01:04:03] local.INFO: Strength records fetched: 0  
[2025-07-17 01:04:03] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-17 01:04:27] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 01:04:27] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 01:11:06] local.INFO: Received date: 17/07/25 Thursday  
[2025-07-17 01:11:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-17 01:11:06] local.INFO: Strength records fetched: 0  
[2025-07-17 01:11:06] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 01:11:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-17 01:11:19] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 01:11:19] local.INFO: Tab value: warmup  
[2025-07-17 01:11:19] local.INFO: Tab value: strength  
[2025-07-17 01:11:19] local.INFO: Tab value: weightlifting  
[2025-07-17 01:11:19] local.INFO: Tab value: conditioning  
[2025-07-17 01:11:19] local.INFO: Tab value: test  
[2025-07-17 01:11:19] local.INFO: Tab value: test  
[2025-07-17 01:11:19] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-17 01:11:19] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 01:11:23] local.INFO: Received date: 17/07/25 Thursday  
[2025-07-17 01:11:23] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-17 01:11:23] local.INFO: Strength records fetched: 0  
[2025-07-17 01:11:23] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 01:11:23] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-17 01:13:45] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 01:26:24] local.INFO: Received date: 17/07/25 Thursday  
[2025-07-17 01:26:24] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 01:26:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-17 01:26:24] local.INFO: Strength records fetched: 0  
[2025-07-17 01:26:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-17 01:37:08] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 07:36:40] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 07:36:41] local.INFO: Tab value: strength  
[2025-07-17 07:36:41] local.INFO: Tab value: warmup  
[2025-07-17 07:36:41] local.INFO: Tab value: conditioning  
[2025-07-17 07:36:41] local.INFO: Tab value: weightlifting  
[2025-07-17 07:36:41] local.INFO: Tab value: test  
[2025-07-17 07:36:41] local.INFO: Tab value: test  
[2025-07-17 07:36:41] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 07:36:41] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-17 07:36:41] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 07:37:38] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 07:37:38] local.INFO: Tab value: warmup  
[2025-07-17 07:37:39] local.INFO: Tab value: strength  
[2025-07-17 07:37:39] local.INFO: Tab value: conditioning  
[2025-07-17 07:37:39] local.INFO: Tab value: weightlifting  
[2025-07-17 07:37:39] local.INFO: Tab value: test  
[2025-07-17 07:37:39] local.INFO: Tab value: test  
[2025-07-17 07:37:39] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-17 07:37:39] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 07:37:39] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 07:37:56] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-17 07:37:56] local.INFO: Tab value: warmup  
[2025-07-17 07:37:57] local.INFO: Tab value: conditioning  
[2025-07-17 07:37:57] local.INFO: Tab value: strength  
[2025-07-17 07:37:57] local.INFO: Tab value: weightlifting  
[2025-07-17 07:37:57] local.INFO: Tab value: test  
[2025-07-17 07:37:57] local.INFO: Tab value: test  
[2025-07-17 07:37:57] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-17 07:37:57] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-07-18 09:09:32] local.INFO: Day received: {"day":"18/07/25 Friday"} 
[2025-07-18 09:09:33] local.INFO: Tab value: warmup  
[2025-07-18 09:09:33] local.INFO: Tab value: strength  
[2025-07-18 09:09:33] local.INFO: Tab value: conditioning  
[2025-07-18 09:09:33] local.INFO: Tab value: test  
[2025-07-18 09:09:33] local.INFO: Tab value: weightlifting  
[2025-07-18 09:09:33] local.INFO: Tab value: test  
[2025-07-18 09:09:33] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-18 09:09:33] local.INFO: Received date: 18/07/25 Friday  
[2025-07-18 09:09:33] local.INFO: Day received: {"day":"18/07/25 Friday"} 
[2025-07-18 09:09:33] local.INFO: Test records fetched: 0  
[2025-07-18 09:09:33] local.INFO: Test records fetched: []  
[2025-07-18 09:09:33] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-18 09:09:33] local.INFO: Day received: {"day":"18/07/25 Friday"} 
[2025-07-18 09:09:35] local.INFO: Day received: {"day":"18/07/25 Friday"} 
[2025-07-18 09:09:39] local.INFO: Day received: {"day":"18/07/25 Friday"} 
[2025-07-22 09:42:19] local.INFO: Day received: {"day":"22/07/25 Tuesday"} 
[2025-07-22 09:42:19] local.INFO: Tab value: warmup  
[2025-07-22 09:42:20] local.INFO: Tab value: strength  
[2025-07-22 09:42:20] local.INFO: Tab value: weightlifting  
[2025-07-22 09:42:20] local.INFO: Tab value: conditioning  
[2025-07-22 09:42:20] local.INFO: Tab value: test  
[2025-07-22 09:42:20] local.INFO: Tab value: test  
[2025-07-22 09:42:20] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-22 09:42:42] local.INFO: Incoming Warmup Request Data:  {"_token":"12zbzBVKw60BcQzxJNEvH4TuhwYQGyhkP7YVrHhf","selectdatew":"22/07/25 Tuesday","namew_2":null,"warmup_id":null,"namew_1":"test warmup","categoryw_1":"8","workoutw_1":"23","repsw_1":"2","unit_1":"/10","weigthc_1":"2","male_1":null,"female_1":null} 
[2025-07-22 09:42:42] local.INFO: Processing Warmup Group #1: {"namew_1":"test warmup","categoryw_1":"8","workoutw_1":"23","repsw_1":"2","unit_1":"/10","weigthc_1":"2","male_1":null,"female_1":null} 
[2025-07-22 09:42:42] local.INFO: Warmup entry saved with ID: 11  
[2025-07-22 09:42:42] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-07-22 09:42:57] local.INFO: Day received: {"day":"22/07/25 Tuesday"} 
[2025-07-22 09:42:57] local.INFO: Tab value: warmup  
[2025-07-22 09:42:57] local.INFO: Tab value: strength  
[2025-07-22 09:42:57] local.INFO: Tab value: conditioning  
[2025-07-22 09:42:58] local.INFO: Tab value: weightlifting  
[2025-07-22 09:42:58] local.INFO: Tab value: test  
[2025-07-22 09:42:58] local.INFO: Tab value: test  
[2025-07-22 09:42:58] local.INFO: Day received: {"day":"22/07/25 Tuesday"} 
[2025-07-22 09:42:58] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-29 04:55:28] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-29 05:15:08] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-30 02:49:17] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-30 02:49:24] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-30 04:01:26] local.INFO: Day received: {"day":"30/07/25 Wednesday"} 
[2025-07-30 04:01:26] local.INFO: Tab value: strength  
[2025-07-30 04:01:26] local.INFO: Tab value: warmup  
[2025-07-30 04:01:26] local.INFO: Tab value: conditioning  
[2025-07-30 04:01:26] local.INFO: Tab value: weightlifting  
[2025-07-30 04:01:26] local.INFO: Tab value: test  
[2025-07-30 04:01:26] local.INFO: Tab value: test  
[2025-07-30 04:01:27] local.INFO: Day received: {"day":"30/07/25 Wednesday"} 
[2025-07-30 04:01:27] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-30 04:03:03] local.INFO: Day received: {"day":"30/07/25 Wednesday"} 
[2025-07-30 04:03:04] local.INFO: Tab value: warmup  
[2025-07-30 04:03:04] local.INFO: Tab value: strength  
[2025-07-30 04:03:04] local.INFO: Tab value: conditioning  
[2025-07-30 04:03:04] local.INFO: Tab value: test  
[2025-07-30 04:03:04] local.INFO: Tab value: test  
[2025-07-30 04:03:04] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-30 04:03:04] local.INFO: Tab value: weightlifting  
[2025-07-30 04:03:04] local.INFO: Day received: {"day":"30/07/25 Wednesday"} 
[2025-07-30 07:19:19] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-30 07:19:31] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-30 07:19:39] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-30 09:22:23] local.ERROR: Attempt to read property "id" on null {"exception":"[object] (ErrorException(code: 0): Attempt to read property \"id\" on null at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php:219)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/MobileController.php(219): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Attempt to read...', '/home/vpbifrost...', 219)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\MobileController->readinessscore()
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('readinessscore', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\MobileController), 'readinessscore')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2025-07-31 04:05:06] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:05:06] local.INFO: Tab value: warmup  
[2025-07-31 04:05:06] local.INFO: Tab value: strength  
[2025-07-31 04:05:06] local.INFO: Tab value: conditioning  
[2025-07-31 04:05:06] local.INFO: Tab value: weightlifting  
[2025-07-31 04:05:06] local.INFO: Tab value: test  
[2025-07-31 04:05:06] local.INFO: Tab value: test  
[2025-07-31 04:05:06] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:05:06] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-31 04:05:11] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:05:11] local.INFO: Received date: 31/07/25 Thursday  
[2025-07-31 04:05:11] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-31 04:05:11] local.INFO: Strength records fetched: 0  
[2025-07-31 04:05:11] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-31 04:05:13] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:05:13] local.INFO: return Weightlifting Request Data:   
[2025-07-31 04:05:15] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:05:15] local.INFO: Received date: 31/07/25 Thursday  
[2025-07-31 04:05:15] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-31 04:05:15] local.INFO: Strength records fetched: 0  
[2025-07-31 04:05:15] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-31 04:07:29] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:07:35] local.INFO: Received date: 31/07/25 Thursday  
[2025-07-31 04:07:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-31 04:07:35] local.INFO: Strength records fetched: 0  
[2025-07-31 04:07:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-31 04:07:35] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:07:36] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:07:36] local.INFO: return Weightlifting Request Data:   
[2025-07-31 04:07:38] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:07:39] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:07:39] local.INFO: Received date: 31/07/25 Thursday  
[2025-07-31 04:07:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-07-31 04:07:39] local.INFO: Strength records fetched: 0  
[2025-07-31 04:07:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-07-31 04:07:40] local.INFO: return Weightlifting Request Data:   
[2025-07-31 04:07:40] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:07:41] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:07:42] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:07:42] local.INFO: Received date: 31/07/25 Thursday  
[2025-07-31 04:07:42] local.INFO: Test records fetched: 0  
[2025-07-31 04:07:42] local.INFO: Test records fetched: []  
[2025-07-31 04:07:42] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-07-31 04:07:50] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:16:16] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:29:43] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-07-31 04:29:43] local.INFO: Tab value: warmup  
[2025-07-31 04:29:43] local.INFO: Tab value: strength  
[2025-07-31 04:29:43] local.INFO: Tab value: conditioning  
[2025-07-31 04:29:43] local.INFO: Tab value: test  
[2025-07-31 04:29:43] local.INFO: Tab value: weightlifting  
[2025-07-31 04:29:43] local.INFO: Tab value: test  
[2025-07-31 04:29:44] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-07-31 04:29:44] local.INFO: Day received: {"day":"31/07/25 Thursday"} 
[2025-08-01 11:19:32] local.INFO: Day received: {"day":"01/08/25 Friday"} 
[2025-08-01 11:19:32] local.INFO: Tab value: warmup  
[2025-08-01 11:19:33] local.INFO: Tab value: strength  
[2025-08-01 11:19:33] local.INFO: Tab value: conditioning  
[2025-08-01 11:19:33] local.INFO: Tab value: weightlifting  
[2025-08-01 11:19:33] local.INFO: Tab value: test  
[2025-08-01 11:19:33] local.INFO: Tab value: test  
[2025-08-01 11:19:33] local.INFO: Day received: {"day":"01/08/25 Friday"} 
[2025-08-01 11:19:33] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-01 11:19:34] local.INFO: Day received: {"day":"25/07/25 Friday"} 
[2025-08-01 11:19:35] local.INFO: Day received: {"day":"18/07/25 Friday"} 
[2025-08-01 11:19:37] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-08-01 11:19:37] local.INFO: Day received: {"day":"15/07/25 Tuesday"} 
[2025-08-01 11:19:38] local.INFO: Day received: {"day":"16/07/25 Wednesday"} 
[2025-08-01 11:19:39] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-08-01 11:19:40] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-08-01 11:19:40] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:19:42] local.INFO: Day received: {"day":"18/07/25 Friday"} 
[2025-08-01 11:19:42] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:19:43] local.INFO: Day received: {"day":"19/07/25 Saturday"} 
[2025-08-01 11:19:43] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:19:43] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:19:43] local.INFO: Day received: {"day":"20/07/25 Sunday"} 
[2025-08-01 11:19:44] local.INFO: Day received: {"day":"14/07/25 Monday"} 
[2025-08-01 11:19:44] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:19:51] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:19:51] local.INFO: Day received: {"day":"15/07/25 Tuesday"} 
[2025-08-01 11:19:51] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:19:51] local.INFO: Day received: {"day":"16/07/25 Wednesday"} 
[2025-08-01 11:19:52] local.INFO: Day received: {"day":"17/07/25 Thursday"} 
[2025-08-01 11:19:52] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:19:52] local.INFO: Day received: {"day":"18/07/25 Friday"} 
[2025-08-01 11:19:52] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:19:53] local.INFO: Day received: {"day":"19/07/25 Saturday"} 
[2025-08-01 11:19:53] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:19:54] local.INFO: Day received: {"day":"20/07/25 Sunday"} 
[2025-08-01 11:19:54] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:19:57] local.INFO: Day received: {"day":"19/07/25 Saturday"} 
[2025-08-01 11:19:57] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:20:38] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-08-01 11:20:38] local.INFO: return Weightlifting Request Data:  [{"id":6,"category_id":5,"category_name":"Hinge","workoutname":"test","workout_id":117,"workout_type":"Seal row","weight":22.0,"unit":"%","restwered":"04:00:00","restweyellow":"04:00:00","restwegreen":"04:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":8,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"},{"id":9,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"},{"id":10,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"}]}}] 
[2025-08-01 11:20:39] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-08-01 11:20:39] local.INFO: return Weightlifting Request Data:  [{"id":6,"category_id":5,"category_name":"Hinge","workoutname":"test","workout_id":117,"workout_type":"Seal row","weight":22.0,"unit":"%","restwered":"04:00:00","restweyellow":"04:00:00","restwegreen":"04:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":8,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"},{"id":9,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"},{"id":10,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"}]}}] 
[2025-08-01 11:20:43] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-08-01 11:20:45] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-08-01 11:20:49] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-08-01 11:20:54] local.INFO: Received date: 12/07/25 Saturday  
[2025-08-01 11:20:54] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-08-01 11:20:54] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":28,"category_id":4,"workout_id":null,"weight":70.0,"restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:45:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/07/25 Saturday","created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T18:05:13.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":null,"setstrengthsetsreps":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-08-01 11:20:54] local.INFO: Strength records fetched: 1  
[2025-08-01 11:20:54] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":28,"category_id":4,"category_name":"Squat","workout_id":null,"workout_type":null,"workoutname":"Strength Test Workout","weight":70.0,"unit":"%","restred":"01:00:00","restyellow":"00:45:00","restgreen":"00:45:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":[{"id":52,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":53,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"},{"id":54,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":28,"created_at":"2025-07-12T11:16:57.000000Z","updated_at":"2025-07-12T11:16:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-08-01 11:20:56] local.INFO: Day received: {"day":"12/07/25 Saturday"} 
[2025-08-01 11:20:56] local.INFO: return Weightlifting Request Data:  [{"id":6,"category_id":5,"category_name":"Hinge","workoutname":"test","workout_id":117,"workout_type":"Seal row","weight":22.0,"unit":"%","restwered":"04:00:00","restweyellow":"04:00:00","restwegreen":"04:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"12/07/25 Saturday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":8,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"},{"id":9,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"},{"id":10,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":6,"created_at":"2025-07-12T16:29:50.000000Z","updated_at":"2025-07-12T16:29:50.000000Z"}]}}] 
[2025-08-01 11:20:58] local.INFO: return Weightlifting Request Data:   
[2025-08-01 11:20:58] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-08-01 11:21:00] local.INFO: Day received: {"day":"13/07/25 Sunday"} 
[2025-08-01 11:21:00] local.INFO: Received date: 13/07/25 Sunday  
[2025-08-01 11:21:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"category_id":4,"workout_id":60,"weight":75.0,"restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:25:08.000000Z","workoutname":"Strength Test Workout","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},"setstrengthsetsreps":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}],"alt_category":null,"alt_workout":null},{"id":31,"category_id":2,"workout_id":40,"weight":75.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:16.000000Z","workoutname":"Test4","is_assigned":1,"unit":"%","category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}],"alt_category":null,"alt_workout":null},{"id":32,"category_id":4,"workout_id":64,"weight":35.0,"restred":"00:00:15","restyellow":"00:00:30","restgreen":"00:00:15","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/07/25 Sunday","created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:24:29.000000Z","workoutname":"test1","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":63,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"},{"id":64,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-08-01 11:21:00] local.INFO: Strength records fetched: 3  
[2025-08-01 11:21:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":30,"category_id":4,"category_name":"Squat","workout_id":60,"workout_type":"Front squat","workoutname":"Strength Test Workout","weight":75.0,"unit":"%","restred":"00:01:00","restyellow":"00:00:45","restgreen":"00:00:30","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":58,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":59,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"},{"id":60,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":30,"created_at":"2025-07-13T08:24:59.000000Z","updated_at":"2025-07-13T08:24:59.000000Z"}]},{"id":31,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Test4","weight":75.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:02:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":61,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"},{"id":62,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":31,"created_at":"2025-07-13T10:25:11.000000Z","updated_at":"2025-07-13T10:25:11.000000Z"}]},{"id":32,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"test1","weight":35.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:30","restgreen":"00:00:15","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/07/25 Sunday","sets":[{"id":63,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"},{"id":64,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":32,"created_at":"2025-07-13T12:23:44.000000Z","updated_at":"2025-07-13T12:23:44.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-08-04 01:47:18] local.INFO: Tab value: warmup  
[2025-08-04 01:47:18] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 01:47:18] local.INFO: Tab value: strength  
[2025-08-04 01:47:18] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 02:03:18] local.INFO: Tab value: warmup  
[2025-08-04 02:03:18] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 02:03:18] local.INFO: Tab value: conditioning  
[2025-08-04 02:03:18] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 02:03:22] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 02:03:22] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 02:03:25] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 02:03:25] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 02:08:29] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 02:08:29] local.INFO: Tab value: conditioning  
[2025-08-04 02:08:29] local.INFO: Tab value: strength  
[2025-08-04 02:08:29] local.INFO: Tab value: warmup  
[2025-08-04 02:08:29] local.INFO: Tab value: weightlifting  
[2025-08-04 02:08:29] local.INFO: Tab value: test  
[2025-08-04 02:08:29] local.INFO: Tab value: test  
[2025-08-04 02:08:29] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 02:08:29] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-04 02:08:29] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 02:08:29] local.INFO: Received date: 04/08/25 Monday  
[2025-08-04 02:08:29] local.INFO: Test records fetched: 0  
[2025-08-04 02:08:29] local.INFO: Test records fetched: []  
[2025-08-04 02:08:29] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-08-04 02:08:39] local.INFO: Test Request Data dd: {"request":{"_token":"kn4wxoWzrOIrb9Pb2oVrn41kGHB62WyuU2kDf8bx","selectdatet":"04/08/25 Monday","test_id":null,"namet_1":"test","test-category_1":"8","test-workout_1":"96","test-member_1":"2"}} 
[2025-08-04 02:08:41] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 02:08:41] local.INFO: Received date: 04/08/25 Monday  
[2025-08-04 02:08:41] local.INFO: Test records fetched: 1  
[2025-08-04 02:08:41] local.INFO: Test records fetched: [{"id":5,"category_id":8,"category_name":"Cardio","workout_id":96,"is_assigned":0,"workout_type":"Air bike (distance)","member_id":2,"member_name":"Test","workoutname":"test"}]  
[2025-08-04 02:08:41] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":5,"category_id":8,"category_name":"Cardio","workout_id":96,"is_assigned":0,"workout_type":"Air bike (distance)","member_id":2,"member_name":"Test","workoutname":"test"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-08-04 05:25:09] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 05:25:10] local.INFO: Tab value: warmup  
[2025-08-04 05:25:10] local.INFO: Tab value: strength  
[2025-08-04 05:25:10] local.INFO: Tab value: weightlifting  
[2025-08-04 05:25:10] local.INFO: Tab value: test  
[2025-08-04 05:25:10] local.INFO: Tab value: conditioning  
[2025-08-04 05:25:10] local.INFO: Tab value: test  
[2025-08-04 05:25:10] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-04 05:25:10] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 05:25:10] local.INFO: Received date: 04/08/25 Monday  
[2025-08-04 05:25:10] local.INFO: Test records fetched: 1  
[2025-08-04 05:25:10] local.INFO: Test records fetched: [{"id":5,"category_id":8,"category_name":"Cardio","workout_id":96,"is_assigned":0,"workout_type":"Air bike (distance)","member_id":2,"member_name":"Test","workoutname":"test"}]  
[2025-08-04 05:25:10] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":5,"category_id":8,"category_name":"Cardio","workout_id":96,"is_assigned":0,"workout_type":"Air bike (distance)","member_id":2,"member_name":"Test","workoutname":"test"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-08-04 05:25:10] local.INFO: Day received: {"day":"04/08/25 Monday"} 
[2025-08-04 05:25:17] local.INFO: Response filtered data Test:  {"Test":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-08-04 05:25:20] local.INFO: Received date: 04/08/25 Monday  
[2025-08-04 05:25:20] local.INFO: Test records fetched: 1  
[2025-08-04 05:25:20] local.INFO: Test records fetched: [{"id":5,"category_id":8,"category_name":"Cardio","workout_id":96,"is_assigned":0,"workout_type":"Air bike (distance)","member_id":2,"member_name":"Test","workoutname":"test"}]  
[2025-08-04 05:25:20] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":5,"category_id":8,"category_name":"Cardio","workout_id":96,"is_assigned":0,"workout_type":"Air bike (distance)","member_id":2,"member_name":"Test","workoutname":"test"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-08-26 09:07:47] local.INFO: getData function called.  
[2025-08-26 09:07:47] local.INFO: Date received: 26/08/25 Tuesday  
[2025-08-26 09:07:47] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-08-26 09:07:47] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-08-26 09:07:47] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-08-26 09:07:47] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-08-26 09:07:47] local.INFO: All Details:  
[2025-08-26 09:07:47] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-08-26 09:53:33] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 09:53:33] local.INFO: Tab value: warmup  
[2025-08-26 09:53:33] local.INFO: Tab value: strength  
[2025-08-26 09:53:33] local.INFO: Tab value: conditioning  
[2025-08-26 09:53:33] local.INFO: Tab value: test  
[2025-08-26 09:53:33] local.INFO: Tab value: weightlifting  
[2025-08-26 09:53:33] local.INFO: Tab value: test  
[2025-08-26 09:53:33] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-26 09:53:34] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 09:54:07] local.INFO: Incoming Warmup Request Data:  {"_token":"IvfNvbE0BFvAXc1BA1ojIRqsAGNeI5nEFW0ula3j","selectdatew":"26/08/25 Tuesday","namew_2":null,"warmup_id":null,"namew_1":"zzz","categoryw_1":"8","workoutw_1":"23","repsw_1":"1","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-08-26 09:54:07] local.INFO: Processing Warmup Group #1: {"namew_1":"zzz","categoryw_1":"8","workoutw_1":"23","repsw_1":"1","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-08-26 09:54:07] local.INFO: Warmup entry saved with ID: 12  
[2025-08-26 09:54:07] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-08-26 09:54:19] local.INFO: Incoming Warmup Request Data:  {"_token":"IvfNvbE0BFvAXc1BA1ojIRqsAGNeI5nEFW0ula3j","selectdatew":"26/08/25 Tuesday","namew_2":null,"warmup_id":null,"namew_1":"zzz","categoryw_1":"8","workoutw_1":"23","repsw_1":"1","unit_1":"%","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-08-26 09:54:19] local.INFO: Processing Warmup Group #1: {"namew_1":"zzz","categoryw_1":"8","workoutw_1":"23","repsw_1":"1","unit_1":"%","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-08-26 09:54:19] local.INFO: Warmup entry saved with ID: 13  
[2025-08-26 09:54:19] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-08-26 09:55:20] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 09:55:20] local.INFO: Tab value: warmup  
[2025-08-26 09:55:20] local.INFO: Tab value: strength  
[2025-08-26 09:55:20] local.INFO: Tab value: conditioning  
[2025-08-26 09:55:20] local.INFO: Tab value: weightlifting  
[2025-08-26 09:55:20] local.INFO: Tab value: test  
[2025-08-26 09:55:20] local.INFO: Tab value: test  
[2025-08-26 09:55:20] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-26 09:55:20] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 10:08:51] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 10:08:51] local.INFO: Tab value: warmup  
[2025-08-26 10:08:51] local.INFO: Tab value: conditioning  
[2025-08-26 10:08:51] local.INFO: Tab value: strength  
[2025-08-26 10:08:51] local.INFO: Tab value: weightlifting  
[2025-08-26 10:08:51] local.INFO: Tab value: test  
[2025-08-26 10:08:51] local.INFO: Tab value: test  
[2025-08-26 10:08:51] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-26 10:08:51] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 10:10:39] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 10:10:40] local.INFO: Tab value: warmup  
[2025-08-26 10:10:40] local.INFO: Tab value: strength  
[2025-08-26 10:10:40] local.INFO: Tab value: conditioning  
[2025-08-26 10:10:40] local.INFO: Tab value: test  
[2025-08-26 10:10:40] local.INFO: Tab value: weightlifting  
[2025-08-26 10:10:40] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-26 10:10:40] local.INFO: Tab value: test  
[2025-08-26 10:10:40] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 10:10:47] local.INFO: assigned weightlifting:  {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","workout_id":"12","workout_type":"warmup","date":"26/08/25 Tuesday","assigned":"1","class_id":"16"} 
[2025-08-26 10:10:49] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 10:13:18] local.INFO: Received date: 26/08/25 Tuesday  
[2025-08-26 10:13:18] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-08-26 10:13:18] local.INFO: Strength records fetched: 0  
[2025-08-26 10:13:18] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-08-26 10:13:18] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 10:13:34] local.INFO: Received request data: {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","selectdates":"26/08/25 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"abc","categorys_1":"6","workouts_1":"81","unit_1":"%","weigths_1":"5","setsid_1":null,"sets_1":"1","reps_1":null,"restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"low"} 
[2025-08-26 10:13:34] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"abc","categorys_1":"6","workouts_1":"81","unit_1":"%","weigths_1":"5","setsid_1":null,"sets_1":"1","reps_1":null,"restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"low"} 
[2025-08-26 10:13:34] local.INFO: Created Strength ID {"id":35} 
[2025-08-26 10:13:34] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":null,"alt_set":null,"alt_reps":null,"strength_id":35} 
[2025-08-26 10:13:35] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 10:13:35] local.INFO: Received date: 26/08/25 Tuesday  
[2025-08-26 10:13:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":35,"category_id":6,"workout_id":81,"weight":5.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"26/08/25 Tuesday","created_at":"2025-08-26T10:13:34.000000Z","updated_at":"2025-08-26T10:13:34.000000Z","workoutname":"abc","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":71,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":35,"created_at":"2025-08-26T10:13:34.000000Z","updated_at":"2025-08-26T10:13:34.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-08-26 10:13:35] local.INFO: Strength records fetched: 1  
[2025-08-26 10:13:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":35,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"abc","weight":5.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"26/08/25 Tuesday","sets":[{"id":71,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":35,"created_at":"2025-08-26T10:13:34.000000Z","updated_at":"2025-08-26T10:13:34.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-08-26 10:14:02] local.INFO: assigned weightlifting:  {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","workout_id":"35","workout_type":"strength","date":"26/08/25 Tuesday","assigned":"1","class_id":"16"} 
[2025-08-26 10:14:03] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 10:15:01] local.INFO: Received Request Data: {"strength_id":"35","reps":"-","weight":"1.50","type":"Primary","_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5"} 
[2025-08-26 10:17:38] local.INFO: Received date: 25/08/25 Monday  
[2025-08-26 10:17:38] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 10:17:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-08-26 10:17:38] local.INFO: Strength records fetched: 0  
[2025-08-26 10:17:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-08-26 10:17:42] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 10:17:44] local.INFO: Received date: 25/08/25 Monday  
[2025-08-26 10:17:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-08-26 10:17:44] local.INFO: Strength records fetched: 0  
[2025-08-26 10:17:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-08-26 10:17:44] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 10:17:45] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 10:17:45] local.INFO: return Weightlifting Request Data:   
[2025-08-26 10:17:45] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 10:17:55] local.INFO: Day received: {"day":"18/08/25 Monday"} 
[2025-08-26 10:17:56] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 10:17:57] local.INFO: Day received: {"day":"01/09/25 Monday"} 
[2025-08-26 10:18:05] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 10:18:06] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 10:18:24] local.INFO: Day received: {"day":"27/08/25 Wednesday"} 
[2025-08-26 10:18:57] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 10:18:58] local.INFO: Tab value: warmup  
[2025-08-26 10:18:58] local.INFO: Tab value: strength  
[2025-08-26 10:18:58] local.INFO: Tab value: weightlifting  
[2025-08-26 10:18:58] local.INFO: Tab value: conditioning  
[2025-08-26 10:18:58] local.INFO: Tab value: test  
[2025-08-26 10:18:58] local.INFO: Tab value: test  
[2025-08-26 10:18:58] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-26 10:18:58] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 10:19:31] local.INFO: Day received: {"day":"27/08/25 Wednesday"} 
[2025-08-26 11:26:20] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:26:21] local.INFO: Tab value: warmup  
[2025-08-26 11:26:21] local.INFO: Tab value: strength  
[2025-08-26 11:26:21] local.INFO: Tab value: conditioning  
[2025-08-26 11:26:21] local.INFO: Tab value: weightlifting  
[2025-08-26 11:26:21] local.INFO: Tab value: test  
[2025-08-26 11:26:21] local.INFO: Tab value: test  
[2025-08-26 11:26:21] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-26 11:26:21] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:26:32] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:26:32] local.INFO: return Weightlifting Request Data:   
[2025-08-26 11:26:44] local.INFO: Incoming Weightlifting Request Data:  {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","selectdatewe":"26/08/25 Tuesday","namewe_2":null,"weightlifting_id":null,"namewe_1":"ABC","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"5","setwid_1":null,"setswe_1":"1","repswe_1":null,"restredwe_1":"00:04:00","restyellowwe_1":"00:04:00","restgreenwe_1":"00:04:00","intensitywe_1":"high"} 
[2025-08-26 11:26:44] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"ABC","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"5","setwid_1":null,"setswe_1":"1","repswe_1":null,"restredwe_1":"00:04:00","restyellowwe_1":"00:04:00","restgreenwe_1":"00:04:00","intensitywe_1":"high"} 
[2025-08-26 11:26:44] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"ABC","weigth":"5","unit":"%","restred":"00:04:00","restgreen":"00:04:00","restyellow":"00:04:00","intensity":"high","date":"26/08/25 Tuesday"} 
[2025-08-26 11:26:44] local.INFO: Created Weightlifting ID {"id":7} 
[2025-08-26 11:26:44] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":null,"alt_set":null,"alt_reps":null,"weightlifting_id":7} 
[2025-08-26 11:26:47] local.INFO: return Weightlifting Request Data:  [{"id":7,"category_id":5,"category_name":"Hinge","workoutname":"ABC","workout_id":117,"workout_type":"Seal row","weight":5.0,"unit":"%","restwered":"00:04:00","restweyellow":"00:04:00","restwegreen":"00:04:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"26/08/25 Tuesday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":11,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"weightlifting_id":7,"created_at":"2025-08-26T11:26:44.000000Z","updated_at":"2025-08-26T11:26:44.000000Z"}]}}] 
[2025-08-26 11:26:47] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:26:55] local.INFO: assigned weightlifting:  {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","class_id":"16","workout_id":"7","workout_type":"weightlifting","date":"26/08/25 Tuesday","assigned":"1"} 
[2025-08-26 11:26:56] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:27:09] local.INFO: Day received: {"day":"02/09/25 Tuesday"} 
[2025-08-26 11:27:09] local.INFO: return Weightlifting Request Data:   
[2025-08-26 11:27:11] local.INFO: return Weightlifting Request Data:  [{"id":7,"category_id":5,"category_name":"Hinge","workoutname":"ABC","workout_id":117,"workout_type":"Seal row","weight":5.0,"unit":"%","restwered":"00:04:00","restweyellow":"00:04:00","restwegreen":"00:04:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"26/08/25 Tuesday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":11,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"weightlifting_id":7,"created_at":"2025-08-26T11:26:44.000000Z","updated_at":"2025-08-26T11:26:44.000000Z"}]}}] 
[2025-08-26 11:27:11] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:27:14] local.INFO: return Weightlifting Request Data:   
[2025-08-26 11:27:14] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:27:14] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:27:15] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:27:35] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:27:35] local.INFO: Tab value: warmup  
[2025-08-26 11:27:35] local.INFO: Tab value: conditioning  
[2025-08-26 11:27:35] local.INFO: Tab value: strength  
[2025-08-26 11:27:36] local.INFO: Tab value: test  
[2025-08-26 11:27:36] local.INFO: Tab value: weightlifting  
[2025-08-26 11:27:36] local.INFO: Tab value: test  
[2025-08-26 11:27:36] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-26 11:27:36] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:27:36] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:27:39] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:27:39] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:27:54] local.INFO: Incoming Warmup Request Data:  {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","selectdatew":"25/08/25 Monday","namew_2":null,"warmup_id":null,"namew_1":"kk","categoryw_1":"5","workoutw_1":"116","repsw_1":"1","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-08-26 11:27:54] local.INFO: Processing Warmup Group #1: {"namew_1":"kk","categoryw_1":"5","workoutw_1":"116","repsw_1":"1","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-08-26 11:27:54] local.INFO: Warmup entry saved with ID: 14  
[2025-08-26 11:27:54] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-08-26 11:27:59] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:28:00] local.INFO: Tab value: warmup  
[2025-08-26 11:28:00] local.INFO: Tab value: strength  
[2025-08-26 11:28:00] local.INFO: Tab value: conditioning  
[2025-08-26 11:28:00] local.INFO: Tab value: test  
[2025-08-26 11:28:00] local.INFO: Tab value: weightlifting  
[2025-08-26 11:28:00] local.INFO: Tab value: test  
[2025-08-26 11:28:00] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-26 11:28:00] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:28:01] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:28:03] local.INFO: assigned weightlifting:  {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","workout_id":"14","workout_type":"warmup","date":"25/08/25 Monday","assigned":"1","class_id":"18"} 
[2025-08-26 11:28:04] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:28:05] local.INFO: Received date: 25/08/25 Monday  
[2025-08-26 11:28:05] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-08-26 11:28:05] local.INFO: Strength records fetched: 0  
[2025-08-26 11:28:05] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:28:05] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-08-26 11:28:16] local.INFO: Received request data: {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","selectdates":"25/08/25 Monday","selecttabs":"strength","categorys_2":"6","name_1":null,"strength_id":null,"names_1":"abc","categorys_1":"6","workouts_1":"81","unit_1":"%","weigths_1":null,"setsid_1":null,"sets_1":"1","reps_1":"1","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"low"} 
[2025-08-26 11:28:16] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"abc","categorys_1":"6","workouts_1":"81","unit_1":"%","weigths_1":null,"setsid_1":null,"sets_1":"1","reps_1":"1","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"low"} 
[2025-08-26 11:28:16] local.ERROR: Undefined array key "weigths" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"weigths\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:68)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 68)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(68): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 68)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '25/08/25 Monday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-08-26 11:28:18] local.INFO: Received request data: {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","selectdates":"25/08/25 Monday","selecttabs":"strength","categorys_2":"6","name_1":null,"strength_id":null,"names_1":"abc","categorys_1":"6","workouts_1":"81","unit_1":"%","weigths_1":null,"setsid_1":null,"sets_1":"1","reps_1":"1","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"low"} 
[2025-08-26 11:28:18] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"abc","categorys_1":"6","workouts_1":"81","unit_1":"%","weigths_1":null,"setsid_1":null,"sets_1":"1","reps_1":"1","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"low"} 
[2025-08-26 11:28:18] local.ERROR: Undefined array key "weigths" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"weigths\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:68)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 68)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(68): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 68)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '25/08/25 Monday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-08-26 11:28:24] local.INFO: Received request data: {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","selectdates":"25/08/25 Monday","selecttabs":"strength","categorys_2":"6","name_1":null,"strength_id":null,"names_1":"abc","categorys_1":"6","workouts_1":"81","unit_1":"%","weigths_1":"5","setsid_1":null,"sets_1":"1","reps_1":"1","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"low"} 
[2025-08-26 11:28:24] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"abc","categorys_1":"6","workouts_1":"81","unit_1":"%","weigths_1":"5","setsid_1":null,"sets_1":"1","reps_1":"1","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"low"} 
[2025-08-26 11:28:24] local.INFO: Created Strength ID {"id":36} 
[2025-08-26 11:28:24] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"1","alt_set":null,"alt_reps":null,"strength_id":36} 
[2025-08-26 11:28:24] local.INFO: processedData strenght Request Data:  {"categorys_2":"6"} 
[2025-08-26 11:28:24] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '25/08/25 Monday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-08-26 11:28:28] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:28:29] local.INFO: Tab value: warmup  
[2025-08-26 11:28:29] local.INFO: Tab value: strength  
[2025-08-26 11:28:29] local.INFO: Tab value: conditioning  
[2025-08-26 11:28:29] local.INFO: Tab value: weightlifting  
[2025-08-26 11:28:29] local.INFO: Tab value: test  
[2025-08-26 11:28:29] local.INFO: Tab value: test  
[2025-08-26 11:28:29] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-26 11:28:29] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:28:30] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:28:30] local.INFO: Received date: 26/08/25 Tuesday  
[2025-08-26 11:28:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":35,"category_id":6,"workout_id":81,"weight":5.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"26/08/25 Tuesday","created_at":"2025-08-26T10:13:34.000000Z","updated_at":"2025-08-26T10:14:02.000000Z","workoutname":"abc","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":71,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":35,"created_at":"2025-08-26T10:13:34.000000Z","updated_at":"2025-08-26T10:13:34.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-08-26 11:28:30] local.INFO: Strength records fetched: 1  
[2025-08-26 11:28:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":35,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"abc","weight":5.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"low","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"26/08/25 Tuesday","sets":[{"id":71,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":35,"created_at":"2025-08-26T10:13:34.000000Z","updated_at":"2025-08-26T10:13:34.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-08-26 11:28:34] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:28:34] local.INFO: return Weightlifting Request Data:  [{"id":7,"category_id":5,"category_name":"Hinge","workoutname":"ABC","workout_id":117,"workout_type":"Seal row","weight":5.0,"unit":"%","restwered":"00:04:00","restweyellow":"00:04:00","restwegreen":"00:04:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"26/08/25 Tuesday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":11,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"weightlifting_id":7,"created_at":"2025-08-26T11:26:44.000000Z","updated_at":"2025-08-26T11:26:44.000000Z"}]}}] 
[2025-08-26 11:28:41] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:28:41] local.INFO: return Weightlifting Request Data:   
[2025-08-26 11:28:43] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:28:43] local.INFO: Received date: 25/08/25 Monday  
[2025-08-26 11:28:43] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":36,"category_id":6,"workout_id":81,"weight":5.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"25/08/25 Monday","created_at":"2025-08-26T11:28:24.000000Z","updated_at":"2025-08-26T11:28:24.000000Z","workoutname":"abc","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":72,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":36,"created_at":"2025-08-26T11:28:24.000000Z","updated_at":"2025-08-26T11:28:24.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-08-26 11:28:43] local.INFO: Strength records fetched: 1  
[2025-08-26 11:28:43] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":36,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"abc","weight":5.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"25/08/25 Monday","sets":[{"id":72,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":36,"created_at":"2025-08-26T11:28:24.000000Z","updated_at":"2025-08-26T11:28:24.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-08-26 11:28:44] local.INFO: Received date: 25/08/25 Monday  
[2025-08-26 11:28:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":36,"category_id":6,"workout_id":81,"weight":5.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"25/08/25 Monday","created_at":"2025-08-26T11:28:24.000000Z","updated_at":"2025-08-26T11:28:24.000000Z","workoutname":"abc","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":72,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":36,"created_at":"2025-08-26T11:28:24.000000Z","updated_at":"2025-08-26T11:28:24.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-08-26 11:28:44] local.INFO: Strength records fetched: 1  
[2025-08-26 11:28:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":36,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"abc","weight":5.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"25/08/25 Monday","sets":[{"id":72,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":36,"created_at":"2025-08-26T11:28:24.000000Z","updated_at":"2025-08-26T11:28:24.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-08-26 11:28:44] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:28:44] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:28:44] local.INFO: return Weightlifting Request Data:   
[2025-08-26 11:28:45] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:28:45] local.INFO: return Weightlifting Request Data:   
[2025-08-26 11:28:56] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:28:56] local.INFO: Tab value: warmup  
[2025-08-26 11:28:56] local.INFO: Tab value: strength  
[2025-08-26 11:28:56] local.INFO: Tab value: conditioning  
[2025-08-26 11:28:56] local.INFO: Tab value: test  
[2025-08-26 11:28:56] local.INFO: Tab value: weightlifting  
[2025-08-26 11:28:56] local.INFO: Tab value: test  
[2025-08-26 11:28:56] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-08-26 11:28:56] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:29:00] local.INFO: assigned weightlifting:  {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","workout_id":"13","workout_type":"warmup","date":"26/08/25 Tuesday","assigned":"1","class_id":"16"} 
[2025-08-26 11:29:01] local.INFO: Day received: {"day":"26/08/25 Tuesday"} 
[2025-08-26 11:29:05] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:29:07] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:29:07] local.INFO: Received date: 25/08/25 Monday  
[2025-08-26 11:29:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":36,"category_id":6,"workout_id":81,"weight":5.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"25/08/25 Monday","created_at":"2025-08-26T11:28:24.000000Z","updated_at":"2025-08-26T11:28:24.000000Z","workoutname":"abc","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":72,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":36,"created_at":"2025-08-26T11:28:24.000000Z","updated_at":"2025-08-26T11:28:24.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-08-26 11:29:07] local.INFO: Strength records fetched: 1  
[2025-08-26 11:29:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":36,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"abc","weight":5.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"25/08/25 Monday","sets":[{"id":72,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":36,"created_at":"2025-08-26T11:28:24.000000Z","updated_at":"2025-08-26T11:28:24.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-08-26 11:29:08] local.INFO: return Weightlifting Request Data:   
[2025-08-26 11:29:08] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:29:14] local.INFO: Received date: 25/08/25 Monday  
[2025-08-26 11:29:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":36,"category_id":6,"workout_id":81,"weight":5.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"25/08/25 Monday","created_at":"2025-08-26T11:28:24.000000Z","updated_at":"2025-08-26T11:28:24.000000Z","workoutname":"abc","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":72,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":36,"created_at":"2025-08-26T11:28:24.000000Z","updated_at":"2025-08-26T11:28:24.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-08-26 11:29:14] local.INFO: Strength records fetched: 1  
[2025-08-26 11:29:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":36,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"abc","weight":5.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"25/08/25 Monday","sets":[{"id":72,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":36,"created_at":"2025-08-26T11:28:24.000000Z","updated_at":"2025-08-26T11:28:24.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-08-26 11:29:14] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:29:17] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:29:17] local.INFO: return Weightlifting Request Data:   
[2025-08-26 11:29:27] local.INFO: Incoming Weightlifting Request Data:  {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","selectdatewe":"25/08/25 Monday","namewe_2":null,"weightlifting_id":null,"namewe_1":"ABC","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"5","setwid_1":null,"setswe_1":"1","repswe_1":"1","restredwe_1":"00:04:00","restyellowwe_1":"00:04:00","restgreenwe_1":"00:04:00","intensitywe_1":"extreme"} 
[2025-08-26 11:29:27] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"ABC","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"5","setwid_1":null,"setswe_1":"1","repswe_1":"1","restredwe_1":"00:04:00","restyellowwe_1":"00:04:00","restgreenwe_1":"00:04:00","intensitywe_1":"extreme"} 
[2025-08-26 11:29:27] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"ABC","weigth":"5","unit":"%","restred":"00:04:00","restgreen":"00:04:00","restyellow":"00:04:00","intensity":"extreme","date":"25/08/25 Monday"} 
[2025-08-26 11:29:27] local.INFO: Created Weightlifting ID {"id":8} 
[2025-08-26 11:29:27] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"1","alt_set":null,"alt_reps":null,"weightlifting_id":8} 
[2025-08-26 11:29:29] local.INFO: return Weightlifting Request Data:  [{"id":8,"category_id":5,"category_name":"Hinge","workoutname":"ABC","workout_id":117,"workout_type":"Seal row","weight":5.0,"unit":"%","restwered":"00:04:00","restweyellow":"00:04:00","restwegreen":"00:04:00","intensity":"extreme","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"25/08/25 Monday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":12,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"weightlifting_id":8,"created_at":"2025-08-26T11:29:27.000000Z","updated_at":"2025-08-26T11:29:27.000000Z"}]}}] 
[2025-08-26 11:29:29] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:29:31] local.INFO: assigned weightlifting:  {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","class_id":"18","workout_id":"8","workout_type":"weightlifting","date":"25/08/25 Monday","assigned":"1"} 
[2025-08-26 11:29:32] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:29:33] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:30:10] local.INFO: Incoming Conditioning Request Data:  {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","selectdatec":"25/08/25 Monday","rounds":null,"conditioning_id":null,"namec_1":"ll","timeTC_1":"04:00","rounds_1":null,"pyramidCheckboxCon":"on","pyramidSet_1":"1","reps_1":null,"unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"102","repsc_1":"1","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-08-26 11:30:10] local.INFO: Processed Conditioning Data: {"namec_1":"ll","timeTC_1":"04:00","rounds_1":null,"pyramidSet_1":"1","reps_1":null,"unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"102","repsc_1":"1","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-08-26 11:30:10] local.INFO: Created Conditioning ID {"id":13} 
[2025-08-26 11:30:10] local.INFO: Saving PyramidSet row: {"sets":null,"reps":null,"unit":"/10","pyramidweight":"5","pyramidmale":null,"pyramidfemale":null,"conditioning_id":13} 
[2025-08-26 11:30:13] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:30:23] local.INFO: assigned weightlifting:  {"_token":"wJ8zBAXowBO3DBjXkPfsXWCgsafXDdpgUUcWDkv5","workout_id":"13","workout_type":"conditioning","date":"25/08/25 Monday","assigned":"1","class_id":"19"} 
[2025-08-26 11:30:24] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-08-26 11:30:25] local.INFO: Received date: 25/08/25 Monday  
[2025-08-26 11:30:25] local.INFO: Test records fetched: 0  
[2025-08-26 11:30:25] local.INFO: Test records fetched: []  
[2025-08-26 11:30:25] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-08-26 11:30:25] local.INFO: Day received: {"day":"25/08/25 Monday"} 
[2025-09-06 06:01:55] local.INFO: Tab value: conditioning  
[2025-09-06 06:01:55] local.INFO: Tab value: strength  
[2025-09-06 06:01:55] local.INFO: Tab value: warmup  
[2025-09-06 06:01:55] local.INFO: Day received: {"day":"06/09/25 Saturday"} 
[2025-09-06 06:01:55] local.INFO: Tab value: weightlifting  
[2025-09-06 06:01:55] local.INFO: Tab value: test  
[2025-09-06 06:01:56] local.INFO: Tab value: test  
[2025-09-06 06:01:56] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-06 06:01:56] local.INFO: Day received: {"day":"06/09/25 Saturday"} 
[2025-09-06 06:09:26] local.INFO: getData function called.  
[2025-09-06 06:09:26] local.INFO: Date received: 06/09/25 Saturday  
[2025-09-06 06:09:26] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-09-06 06:09:26] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-09-06 06:09:26] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-06 06:09:26] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-09-06 06:09:26] local.INFO: All Details:  
[2025-09-06 06:09:26] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-09-06 06:10:00] local.INFO: getData function called.  
[2025-09-06 06:10:00] local.INFO: Date received: 06/09/25 Saturday  
[2025-09-06 06:10:00] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-09-06 06:10:00] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-09-06 06:10:00] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-06 06:10:00] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-09-06 06:10:00] local.INFO: All Details:  
[2025-09-06 06:10:00] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-09-06 06:10:27] local.INFO: getData function called.  
[2025-09-06 06:10:27] local.INFO: Date received: 06/09/25 Saturday  
[2025-09-06 06:10:27] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-09-06 06:10:27] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-09-06 06:10:27] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-06 06:10:27] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-09-06 06:10:27] local.INFO: All Details:  
[2025-09-06 06:10:27] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-09-06 06:16:39] local.INFO: Day received: {"day":"06/09/25 Saturday"} 
[2025-09-06 06:16:40] local.INFO: Tab value: warmup  
[2025-09-06 06:16:40] local.INFO: Tab value: conditioning  
[2025-09-06 06:16:40] local.INFO: Tab value: weightlifting  
[2025-09-06 06:16:40] local.INFO: Tab value: strength  
[2025-09-06 06:16:40] local.INFO: Tab value: test  
[2025-09-06 06:16:40] local.INFO: Tab value: test  
[2025-09-06 06:16:40] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-06 06:16:40] local.INFO: Day received: {"day":"06/09/25 Saturday"} 
[2025-09-06 06:17:46] local.INFO: Day received: {"day":"06/09/25 Saturday"} 
[2025-09-06 06:17:46] local.INFO: Tab value: warmup  
[2025-09-06 06:17:47] local.INFO: Tab value: strength  
[2025-09-06 06:17:47] local.INFO: Tab value: conditioning  
[2025-09-06 06:17:47] local.INFO: Tab value: test  
[2025-09-06 06:17:47] local.INFO: Tab value: weightlifting  
[2025-09-06 06:17:47] local.INFO: Tab value: test  
[2025-09-06 06:17:47] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-06 06:17:47] local.INFO: Received date: 06/09/25 Saturday  
[2025-09-06 06:17:47] local.INFO: Day received: {"day":"06/09/25 Saturday"} 
[2025-09-06 06:17:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-06 06:17:47] local.INFO: Strength records fetched: 0  
[2025-09-06 06:17:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-09-06 06:17:47] local.INFO: Day received: {"day":"06/09/25 Saturday"} 
[2025-09-06 06:19:24] local.INFO: Day received: {"day":"06/09/25 Saturday"} 
[2025-09-06 06:19:24] local.INFO: Tab value: warmup  
[2025-09-06 06:19:24] local.INFO: Tab value: conditioning  
[2025-09-06 06:19:24] local.INFO: Tab value: strength  
[2025-09-06 06:19:24] local.INFO: Tab value: weightlifting  
[2025-09-06 06:19:24] local.INFO: Tab value: test  
[2025-09-06 06:19:24] local.INFO: Day received: {"day":"06/09/25 Saturday"} 
[2025-09-06 06:19:24] local.INFO: Tab value: test  
[2025-09-06 06:19:24] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-08 10:39:32] local.INFO: Tab value: warmup  
[2025-09-08 10:39:32] local.INFO: Day received: {"day":"08/09/25 Monday"} 
[2025-09-08 10:39:32] local.INFO: Tab value: conditioning  
[2025-09-08 10:39:32] local.INFO: Tab value: strength  
[2025-09-08 10:39:32] local.INFO: Tab value: weightlifting  
[2025-09-08 10:39:32] local.INFO: Tab value: test  
[2025-09-08 10:39:32] local.INFO: Tab value: test  
[2025-09-08 10:39:32] local.INFO: Day received: {"day":"08/09/25 Monday"} 
[2025-09-08 10:39:32] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-08 10:39:35] local.INFO: Day received: {"day":"08/09/25 Monday"} 
[2025-09-08 10:39:36] local.INFO: Day received: {"day":"08/09/25 Monday"} 
[2025-09-09 04:50:05] local.INFO: Day received: {"day":"09/09/25 Tuesday"} 
[2025-09-09 04:50:05] local.INFO: Tab value: warmup  
[2025-09-09 04:50:05] local.INFO: Tab value: strength  
[2025-09-09 04:50:05] local.INFO: Tab value: conditioning  
[2025-09-09 04:50:05] local.INFO: Tab value: test  
[2025-09-09 04:50:05] local.INFO: Tab value: weightlifting  
[2025-09-09 04:50:05] local.INFO: Tab value: test  
[2025-09-09 04:50:05] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-09 04:50:05] local.INFO: Day received: {"day":"09/09/25 Tuesday"} 
[2025-09-16 10:05:24] local.INFO: Day received: {"day":"16/09/25 Tuesday"} 
[2025-09-16 10:05:24] local.INFO: Tab value: conditioning  
[2025-09-16 10:05:24] local.INFO: Tab value: warmup  
[2025-09-16 10:05:24] local.INFO: Tab value: strength  
[2025-09-16 10:05:25] local.INFO: Tab value: weightlifting  
[2025-09-16 10:05:25] local.INFO: Tab value: test  
[2025-09-16 10:05:25] local.INFO: Tab value: test  
[2025-09-16 10:05:25] local.INFO: Day received: {"day":"16/09/25 Tuesday"} 
[2025-09-16 10:05:25] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-16 10:09:04] local.INFO: Day received: {"day":"16/09/25 Tuesday"} 
[2025-09-16 10:09:04] local.INFO: Tab value: warmup  
[2025-09-16 10:09:04] local.INFO: Tab value: strength  
[2025-09-16 10:09:04] local.INFO: Tab value: conditioning  
[2025-09-16 10:09:05] local.INFO: Tab value: weightlifting  
[2025-09-16 10:09:05] local.INFO: Tab value: test  
[2025-09-16 10:09:05] local.INFO: Tab value: test  
[2025-09-16 10:09:05] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-16 10:09:05] local.INFO: Day received: {"day":"16/09/25 Tuesday"} 
[2025-09-16 10:10:23] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-09-16 10:10:23] local.ERROR: Error in getwarmup: Call to undefined method App\Models\Warmup::d()  
[2025-09-16 10:10:23] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-09-16 10:10:23] local.ERROR: Error in getwarmup: Call to undefined method App\Models\Warmup::d()  
[2025-09-16 10:11:03] local.INFO: Day received: {"day":"17/09/25 Wednesday"} 
[2025-09-16 10:11:04] local.INFO: Day received: {"day":"17/09/25 Wednesday"} 
[2025-09-16 10:11:04] local.INFO: Day received: {"day":"17/09/25 Wednesday"} 
[2025-09-16 10:11:06] local.INFO: Day received: {"day":"16/09/25 Tuesday"} 
[2025-09-16 10:11:07] local.INFO: Day received: {"day":"17/09/25 Wednesday"} 
[2025-09-16 10:11:10] local.INFO: Day received: {"day":"18/09/25 Thursday"} 
[2025-09-16 10:11:11] local.INFO: Day received: {"day":"18/09/25 Thursday"} 
[2025-09-16 10:11:12] local.INFO: Day received: {"day":"18/09/25 Thursday"} 
[2025-09-16 10:11:13] local.INFO: Day received: {"day":"19/09/25 Friday"} 
[2025-09-16 10:11:13] local.INFO: Day received: {"day":"18/09/25 Thursday"} 
[2025-09-16 10:11:15] local.INFO: Day received: {"day":"17/09/25 Wednesday"} 
[2025-09-16 10:14:49] local.INFO: getData function called.  
[2025-09-16 10:14:49] local.INFO: Date received: 16/09/25 Tuesday  
[2025-09-16 10:14:49] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-09-16 10:14:49] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-09-16 10:14:49] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-16 10:14:49] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-09-16 10:14:49] local.INFO: All Details:  
[2025-09-16 10:14:49] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-09-16 10:14:58] local.INFO: getData function called.  
[2025-09-16 10:14:58] local.INFO: Date received: 16/09/25 Tuesday  
[2025-09-16 10:14:58] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-09-16 10:14:58] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-09-16 10:14:58] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-16 10:14:58] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-09-16 10:14:58] local.INFO: All Details:  
[2025-09-16 10:14:58] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-09-16 10:16:14] local.INFO: getData function called.  
[2025-09-16 10:16:14] local.INFO: Date received: 16/09/25 Tuesday  
[2025-09-16 10:16:14] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-09-16 10:16:14] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-09-16 10:16:14] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-16 10:16:14] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-09-16 10:16:14] local.INFO: All Details:  
[2025-09-16 10:16:14] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-09-16 10:16:22] local.INFO: getData function called.  
[2025-09-16 10:16:22] local.INFO: Date received: 16/09/25 Tuesday  
[2025-09-16 10:16:22] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-09-16 10:16:22] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-09-16 10:16:22] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-16 10:16:22] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-09-16 10:16:22] local.INFO: All Details:  
[2025-09-16 10:16:22] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-09-25 10:39:26] local.INFO: Tab value: warmup  
[2025-09-25 10:39:26] local.INFO: Tab value: strength  
[2025-09-25 10:39:26] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 10:39:26] local.INFO: Tab value: conditioning  
[2025-09-25 10:39:26] local.INFO: Tab value: weightlifting  
[2025-09-25 10:39:26] local.INFO: Tab value: test  
[2025-09-25 10:39:26] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 10:39:26] local.INFO: Tab value: test  
[2025-09-25 10:39:26] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-25 10:39:46] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 10:39:46] local.INFO: Tab value: warmup  
[2025-09-25 10:39:46] local.INFO: Tab value: strength  
[2025-09-25 10:39:46] local.INFO: Tab value: conditioning  
[2025-09-25 10:39:46] local.INFO: Tab value: weightlifting  
[2025-09-25 10:39:46] local.INFO: Tab value: test  
[2025-09-25 10:39:46] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-25 10:39:46] local.INFO: Tab value: test  
[2025-09-25 10:39:47] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 10:40:01] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 10:40:01] local.INFO: Tab value: warmup  
[2025-09-25 10:40:01] local.INFO: Tab value: strength  
[2025-09-25 10:40:01] local.INFO: Tab value: conditioning  
[2025-09-25 10:40:01] local.INFO: Tab value: weightlifting  
[2025-09-25 10:40:01] local.INFO: Tab value: test  
[2025-09-25 10:40:01] local.INFO: Tab value: test  
[2025-09-25 10:40:01] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-25 10:40:01] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 10:40:21] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 10:40:21] local.INFO: Tab value: warmup  
[2025-09-25 10:40:21] local.INFO: Tab value: strength  
[2025-09-25 10:40:21] local.INFO: Tab value: conditioning  
[2025-09-25 10:40:22] local.INFO: Tab value: weightlifting  
[2025-09-25 10:40:22] local.INFO: Tab value: test  
[2025-09-25 10:40:22] local.INFO: Tab value: test  
[2025-09-25 10:40:22] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-25 10:40:22] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 10:40:30] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 10:40:30] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 10:40:34] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 10:40:35] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:09:40] local.INFO: Incoming Warmup Request Data:  {"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","selectdatew":"25/09/25 Thursday","categoryw_2":"3","namew_2":null,"warmup_id":null,"namew_1":"warmup01","categoryw_1":"5","workoutw_1":"116","repsw_1":"3","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-09-25 11:09:40] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup01","categoryw_1":"5","workoutw_1":"116","repsw_1":"3","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-09-25 11:09:40] local.INFO: Warmup entry saved with ID: 15  
[2025-09-25 11:09:40] local.INFO: Processing Warmup Group #2: {"categoryw_2":"3","namew_2":null} 
[2025-09-25 11:09:55] local.INFO: Incoming Warmup Request Data:  {"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","selectdatew":"25/09/25 Thursday","categoryw_2":"3","namew_2":null,"warmup_id":null,"namew_1":"warmup02","categoryw_1":"4","workoutw_1":"114","repsw_1":"2","unit_1":"Cal","weigthc_1":"5","male_1":"20","female_1":null} 
[2025-09-25 11:09:55] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup02","categoryw_1":"4","workoutw_1":"114","repsw_1":"2","unit_1":"Cal","weigthc_1":"5","male_1":"20","female_1":null} 
[2025-09-25 11:09:55] local.INFO: Warmup entry saved with ID: 16  
[2025-09-25 11:09:55] local.INFO: Processing Warmup Group #2: {"categoryw_2":"3","namew_2":null} 
[2025-09-25 11:10:00] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:10:01] local.INFO: Tab value: warmup  
[2025-09-25 11:10:01] local.INFO: Tab value: strength  
[2025-09-25 11:10:01] local.INFO: Tab value: conditioning  
[2025-09-25 11:10:01] local.INFO: Tab value: test  
[2025-09-25 11:10:01] local.INFO: Tab value: weightlifting  
[2025-09-25 11:10:01] local.INFO: Tab value: test  
[2025-09-25 11:10:01] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-25 11:10:01] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:10:02] local.INFO: Received date: 25/09/25 Thursday  
[2025-09-25 11:10:02] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:10:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-25 11:10:02] local.INFO: Strength records fetched: 0  
[2025-09-25 11:10:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-09-25 11:10:30] local.INFO: Received request data: {"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","selectdates":"25/09/25 Thursday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"1","workouts_1":"32","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"3","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"extreme"} 
[2025-09-25 11:10:30] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"32","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"3","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"extreme"} 
[2025-09-25 11:10:30] local.INFO: Created Strength ID {"id":37} 
[2025-09-25 11:10:30] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":37} 
[2025-09-25 11:10:30] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"strength_id":37} 
[2025-09-25 11:10:30] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-25 11:10:30] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '25/09/25 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-25 11:10:44] local.INFO: Received request data: {"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","selectdates":"25/09/25 Thursday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength02","categorys_1":"2","workouts_1":"48","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"1","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"low"} 
[2025-09-25 11:10:44] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength02","categorys_1":"2","workouts_1":"48","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"1","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"low"} 
[2025-09-25 11:10:44] local.INFO: Created Strength ID {"id":38} 
[2025-09-25 11:10:44] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":38} 
[2025-09-25 11:10:44] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"strength_id":38} 
[2025-09-25 11:10:44] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"1","alt_set":null,"alt_reps":null,"strength_id":38} 
[2025-09-25 11:10:44] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-25 11:10:44] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '25/09/25 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-25 11:10:46] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:10:47] local.INFO: Tab value: warmup  
[2025-09-25 11:10:47] local.INFO: Tab value: strength  
[2025-09-25 11:10:47] local.INFO: Tab value: conditioning  
[2025-09-25 11:10:47] local.INFO: Tab value: weightlifting  
[2025-09-25 11:10:47] local.INFO: Tab value: test  
[2025-09-25 11:10:47] local.INFO: Tab value: test  
[2025-09-25 11:10:47] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-25 11:10:48] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:10:48] local.INFO: Received date: 25/09/25 Thursday  
[2025-09-25 11:10:48] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":37,"category_id":1,"workout_id":32,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"extreme","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"25/09/25 Thursday","created_at":"2025-09-25T11:10:30.000000Z","updated_at":"2025-09-25T11:10:30.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},"setstrengthsetsreps":[{"id":73,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":37,"created_at":"2025-09-25T11:10:30.000000Z","updated_at":"2025-09-25T11:10:30.000000Z"},{"id":74,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":37,"created_at":"2025-09-25T11:10:30.000000Z","updated_at":"2025-09-25T11:10:30.000000Z"}],"alt_category":null,"alt_workout":null},{"id":38,"category_id":2,"workout_id":48,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"25/09/25 Thursday","created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z","workoutname":"strength02","is_assigned":0,"unit":"%","category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},"setstrengthsetsreps":[{"id":75,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":38,"created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z"},{"id":76,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":38,"created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z"},{"id":77,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":38,"created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-09-25 11:10:48] local.INFO: Strength records fetched: 2  
[2025-09-25 11:10:48] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":37,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"extreme","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"25/09/25 Thursday","sets":[{"id":73,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":37,"created_at":"2025-09-25T11:10:30.000000Z","updated_at":"2025-09-25T11:10:30.000000Z"},{"id":74,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":37,"created_at":"2025-09-25T11:10:30.000000Z","updated_at":"2025-09-25T11:10:30.000000Z"}]},{"id":38,"category_id":2,"category_name":"Vertical press","workout_id":48,"workout_type":"Plate press","workoutname":"strength02","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"25/09/25 Thursday","sets":[{"id":75,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":38,"created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z"},{"id":76,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":38,"created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z"},{"id":77,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":38,"created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-09-25 11:10:48] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:10:50] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:10:50] local.INFO: return Weightlifting Request Data:   
[2025-09-25 11:11:11] local.INFO: Tab value: warmup  
[2025-09-25 11:11:11] local.INFO: Tab value: strength  
[2025-09-25 11:11:11] local.INFO: Tab value: conditioning  
[2025-09-25 11:11:11] local.INFO: Tab value: weightlifting  
[2025-09-25 11:11:11] local.INFO: Tab value: test  
[2025-09-25 11:11:11] local.INFO: Tab value: test  
[2025-09-25 11:11:11] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-25 11:11:11] local.INFO: return Weightlifting Request Data:   
[2025-09-25 11:11:12] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:11:54] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:11:54] local.INFO: Tab value: warmup  
[2025-09-25 11:11:54] local.INFO: Tab value: conditioning  
[2025-09-25 11:11:54] local.INFO: Tab value: strength  
[2025-09-25 11:11:55] local.INFO: Tab value: weightlifting  
[2025-09-25 11:11:55] local.INFO: Tab value: test  
[2025-09-25 11:11:55] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-25 11:11:55] local.INFO: Tab value: test  
[2025-09-25 11:11:55] local.INFO: return Weightlifting Request Data:   
[2025-09-25 11:11:55] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:11:55] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:12:32] local.INFO: Incoming Weightlifting Request Data:  {"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","selectdatewe":"25/09/25 Thursday","categorywe_2":"4","namewe_2":null,"weightlifting_id":null,"namewe_1":"weight01","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"20","setwid_1":null,"setswe_1":"1","repswe_1":"2","setswe_12":"2","repswe_12":"3","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"low"} 
[2025-09-25 11:12:32] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"weight01","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"20","setwid_1":null,"setswe_1":"1","repswe_1":"2","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"low"} 
[2025-09-25 11:12:32] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"weight01","weigth":"20","unit":"%","restred":"00:00:15","restgreen":"00:00:15","restyellow":"00:00:15","intensity":"low","date":"25/09/25 Thursday"} 
[2025-09-25 11:12:32] local.INFO: Created Weightlifting ID {"id":9} 
[2025-09-25 11:12:32] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"weightlifting_id":9} 
[2025-09-25 11:12:32] local.INFO: Saving WeightliftingSet row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":9} 
[2025-09-25 11:12:34] local.INFO: return Weightlifting Request Data:  [{"id":9,"category_id":5,"category_name":"Hinge","workoutname":"weight01","workout_id":117,"workout_type":"Seal row","weight":20.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"25/09/25 Thursday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":13,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":9,"created_at":"2025-09-25T11:12:32.000000Z","updated_at":"2025-09-25T11:12:32.000000Z"},{"id":14,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":9,"created_at":"2025-09-25T11:12:32.000000Z","updated_at":"2025-09-25T11:12:32.000000Z"}]}}] 
[2025-09-25 11:12:34] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:12:35] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:12:52] local.INFO: Incoming Conditioning Request Data:  {"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","selectdatec":"25/09/25 Thursday","rounds":null,"conditioning_id":null,"namec_1":"ccc01","timeTC_1":"03:51","rounds_1":null,"pyramidCheckboxCon":"on","pyramidSet_1":"1","reps_1":"2","unit_1":"/10","weigthPy_1":"2","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"2","weigthc_1":"2","male_1":null,"female_1":null} 
[2025-09-25 11:12:52] local.INFO: Processed Conditioning Data: {"namec_1":"ccc01","timeTC_1":"03:51","rounds_1":null,"pyramidSet_1":"1","reps_1":"2","unit_1":"/10","weigthPy_1":"2","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"2","weigthc_1":"2","male_1":null,"female_1":null} 
[2025-09-25 11:12:53] local.INFO: Created Conditioning ID {"id":14} 
[2025-09-25 11:12:53] local.INFO: Saving PyramidSet row: {"sets":null,"reps":"2","unit":"/10","pyramidweight":"2","pyramidmale":null,"pyramidfemale":null,"conditioning_id":14} 
[2025-09-25 11:12:55] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:12:56] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:12:56] local.INFO: Received date: 25/09/25 Thursday  
[2025-09-25 11:12:56] local.INFO: Test records fetched: 0  
[2025-09-25 11:12:56] local.INFO: Test records fetched: []  
[2025-09-25 11:12:56] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-09-25 11:13:07] local.INFO: Test Request Data dd: {"request":{"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","selectdatet":"25/09/25 Thursday","test_id":null,"namet_1":"test01","test-category_1":"9","test-workout_1":"118","test-member_1":"3"}} 
[2025-09-25 11:13:08] local.INFO: Received date: 25/09/25 Thursday  
[2025-09-25 11:13:08] local.INFO: Test records fetched: 1  
[2025-09-25 11:13:08] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:13:08] local.INFO: Test records fetched: [{"id":6,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":3,"member_name":"Samantha","workoutname":"test01"}]  
[2025-09-25 11:13:08] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":6,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":3,"member_name":"Samantha","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-09-25 11:13:12] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:13:13] local.INFO: assigned weightlifting:  {"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","workout_id":"15","workout_type":"warmup","date":"25/09/25 Thursday","assigned":"1","class_id":"20"} 
[2025-09-25 11:13:16] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:13:19] local.INFO: assigned weightlifting:  {"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","workout_id":"16","workout_type":"warmup","date":"25/09/25 Thursday","assigned":"1","class_id":"22"} 
[2025-09-25 11:13:21] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:13:22] local.INFO: Received date: 25/09/25 Thursday  
[2025-09-25 11:13:22] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":37,"category_id":1,"workout_id":32,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"extreme","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"25/09/25 Thursday","created_at":"2025-09-25T11:10:30.000000Z","updated_at":"2025-09-25T11:10:30.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},"setstrengthsetsreps":[{"id":73,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":37,"created_at":"2025-09-25T11:10:30.000000Z","updated_at":"2025-09-25T11:10:30.000000Z"},{"id":74,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":37,"created_at":"2025-09-25T11:10:30.000000Z","updated_at":"2025-09-25T11:10:30.000000Z"}],"alt_category":null,"alt_workout":null},{"id":38,"category_id":2,"workout_id":48,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"25/09/25 Thursday","created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z","workoutname":"strength02","is_assigned":0,"unit":"%","category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},"setstrengthsetsreps":[{"id":75,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":38,"created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z"},{"id":76,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":38,"created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z"},{"id":77,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":38,"created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-09-25 11:13:22] local.INFO: Strength records fetched: 2  
[2025-09-25 11:13:22] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":37,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"extreme","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"25/09/25 Thursday","sets":[{"id":73,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":37,"created_at":"2025-09-25T11:10:30.000000Z","updated_at":"2025-09-25T11:10:30.000000Z"},{"id":74,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":37,"created_at":"2025-09-25T11:10:30.000000Z","updated_at":"2025-09-25T11:10:30.000000Z"}]},{"id":38,"category_id":2,"category_name":"Vertical press","workout_id":48,"workout_type":"Plate press","workoutname":"strength02","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"25/09/25 Thursday","sets":[{"id":75,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":38,"created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z"},{"id":76,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":38,"created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z"},{"id":77,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":38,"created_at":"2025-09-25T11:10:44.000000Z","updated_at":"2025-09-25T11:10:44.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-09-25 11:13:22] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:13:24] local.INFO: assigned weightlifting:  {"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","workout_id":"37","workout_type":"strength","date":"25/09/25 Thursday","assigned":"1","class_id":"21"} 
[2025-09-25 11:13:26] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:13:29] local.INFO: assigned weightlifting:  {"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","workout_id":"38","workout_type":"strength","date":"25/09/25 Thursday","assigned":"1","class_id":"20"} 
[2025-09-25 11:13:31] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:13:32] local.INFO: return Weightlifting Request Data:  [{"id":9,"category_id":5,"category_name":"Hinge","workoutname":"weight01","workout_id":117,"workout_type":"Seal row","weight":20.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"25/09/25 Thursday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":13,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":9,"created_at":"2025-09-25T11:12:32.000000Z","updated_at":"2025-09-25T11:12:32.000000Z"},{"id":14,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":9,"created_at":"2025-09-25T11:12:32.000000Z","updated_at":"2025-09-25T11:12:32.000000Z"}]}}] 
[2025-09-25 11:13:32] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:13:35] local.INFO: assigned weightlifting:  {"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","class_id":"21","workout_id":"9","workout_type":"weightlifting","date":"25/09/25 Thursday","assigned":"1"} 
[2025-09-25 11:13:36] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:13:37] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-25 11:13:40] local.INFO: assigned weightlifting:  {"_token":"l23p1o5GZWaXtHdl2QbUHmYA83VsoBdePv4gLkY2","workout_id":"14","workout_type":"conditioning","date":"25/09/25 Thursday","assigned":"1","class_id":"22"} 
[2025-09-25 11:13:41] local.INFO: Day received: {"day":"25/09/25 Thursday"} 
[2025-09-26 03:09:25] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:09:26] local.INFO: Tab value: warmup  
[2025-09-26 03:09:26] local.INFO: Tab value: strength  
[2025-09-26 03:09:26] local.INFO: Tab value: conditioning  
[2025-09-26 03:09:26] local.INFO: Tab value: weightlifting  
[2025-09-26 03:09:26] local.INFO: Tab value: test  
[2025-09-26 03:09:26] local.INFO: Tab value: test  
[2025-09-26 03:09:26] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-26 03:09:26] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:09:42] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:09:43] local.INFO: Tab value: warmup  
[2025-09-26 03:09:43] local.INFO: Tab value: strength  
[2025-09-26 03:09:43] local.INFO: Tab value: conditioning  
[2025-09-26 03:09:43] local.INFO: Tab value: test  
[2025-09-26 03:09:43] local.INFO: Tab value: weightlifting  
[2025-09-26 03:09:43] local.INFO: Tab value: test  
[2025-09-26 03:09:43] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-26 03:09:43] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:09:48] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:09:48] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:10:11] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:10:12] local.INFO: Tab value: warmup  
[2025-09-26 03:10:12] local.INFO: Tab value: strength  
[2025-09-26 03:10:12] local.INFO: Tab value: conditioning  
[2025-09-26 03:10:12] local.INFO: Tab value: test  
[2025-09-26 03:10:12] local.INFO: Tab value: weightlifting  
[2025-09-26 03:10:12] local.INFO: Tab value: test  
[2025-09-26 03:10:12] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-26 03:10:12] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:10:17] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:10:17] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:10:33] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:10:33] local.INFO: Tab value: warmup  
[2025-09-26 03:10:33] local.INFO: Tab value: strength  
[2025-09-26 03:10:33] local.INFO: Tab value: conditioning  
[2025-09-26 03:10:33] local.INFO: Tab value: test  
[2025-09-26 03:10:33] local.INFO: Tab value: weightlifting  
[2025-09-26 03:10:33] local.INFO: Tab value: test  
[2025-09-26 03:10:33] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-26 03:10:33] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:10:48] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:10:48] local.INFO: Tab value: warmup  
[2025-09-26 03:10:49] local.INFO: Tab value: conditioning  
[2025-09-26 03:10:49] local.INFO: Tab value: strength  
[2025-09-26 03:10:49] local.INFO: Tab value: test  
[2025-09-26 03:10:49] local.INFO: Tab value: weightlifting  
[2025-09-26 03:10:49] local.INFO: Tab value: test  
[2025-09-26 03:10:49] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-26 03:10:49] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:10:54] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:10:54] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:11:07] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 03:11:08] local.INFO: Tab value: warmup  
[2025-09-26 03:11:08] local.INFO: Tab value: conditioning  
[2025-09-26 03:11:08] local.INFO: Tab value: strength  
[2025-09-26 03:11:08] local.INFO: Tab value: weightlifting  
[2025-09-26 03:11:08] local.INFO: Tab value: test  
[2025-09-26 03:11:08] local.INFO: Tab value: test  
[2025-09-26 03:11:08] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-26 03:11:08] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 08:11:36] local.INFO: Tab value: warmup  
[2025-09-26 08:11:36] local.INFO: Tab value: strength  
[2025-09-26 08:11:36] local.INFO: Tab value: test  
[2025-09-26 08:11:36] local.INFO: Tab value: conditioning  
[2025-09-26 08:11:36] local.INFO: Tab value: test  
[2025-09-26 08:11:36] local.INFO: Tab value: weightlifting  
[2025-09-26 08:11:37] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-26 08:11:37] local.INFO: Received date: 26/09/25 Friday  
[2025-09-26 08:11:37] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 08:11:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-26 08:11:37] local.INFO: Strength records fetched: 0  
[2025-09-26 08:11:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-09-26 08:12:07] local.INFO: Received request data: {"_token":"lpA85Mud8ViHUGeBIcal96B1T43Xt0rMvczIcCg1","selectdates":"26/09/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"1","workouts_1":"28","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"low"} 
[2025-09-26 08:12:07] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"28","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"low"} 
[2025-09-26 08:12:07] local.INFO: Created Strength ID {"id":39} 
[2025-09-26 08:12:07] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":39} 
[2025-09-26 08:12:07] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":39} 
[2025-09-26 08:12:07] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-26 08:12:07] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '26/09/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-26 08:12:11] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 08:12:11] local.INFO: Tab value: warmup  
[2025-09-26 08:12:12] local.INFO: Tab value: strength  
[2025-09-26 08:12:12] local.INFO: Tab value: conditioning  
[2025-09-26 08:12:12] local.INFO: Tab value: weightlifting  
[2025-09-26 08:12:12] local.INFO: Tab value: test  
[2025-09-26 08:12:12] local.INFO: Tab value: test  
[2025-09-26 08:12:12] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-26 08:12:12] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 08:12:12] local.INFO: Received date: 26/09/25 Friday  
[2025-09-26 08:12:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":39,"category_id":1,"workout_id":28,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"26/09/25 Friday","created_at":"2025-09-26T08:12:07.000000Z","updated_at":"2025-09-26T08:12:07.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},"setstrengthsetsreps":[{"id":78,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":39,"created_at":"2025-09-26T08:12:07.000000Z","updated_at":"2025-09-26T08:12:07.000000Z"},{"id":79,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":39,"created_at":"2025-09-26T08:12:07.000000Z","updated_at":"2025-09-26T08:12:07.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-09-26 08:12:12] local.INFO: Strength records fetched: 1  
[2025-09-26 08:12:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":39,"category_id":1,"category_name":"Horizontal pull","workout_id":28,"workout_type":"Seal row","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"26/09/25 Friday","sets":[{"id":78,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":39,"created_at":"2025-09-26T08:12:07.000000Z","updated_at":"2025-09-26T08:12:07.000000Z"},{"id":79,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":39,"created_at":"2025-09-26T08:12:07.000000Z","updated_at":"2025-09-26T08:12:07.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-09-26 08:12:12] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-26 08:12:15] local.INFO: assigned weightlifting:  {"_token":"lpA85Mud8ViHUGeBIcal96B1T43Xt0rMvczIcCg1","workout_id":"39","workout_type":"strength","date":"26/09/25 Friday","assigned":"1","class_id":"28"} 
[2025-09-26 08:12:17] local.INFO: Day received: {"day":"26/09/25 Friday"} 
[2025-09-30 01:03:36] local.INFO: getData function called.  
[2025-09-30 01:03:37] local.INFO: Date received: 30/09/25 Tuesday  
[2025-09-30 01:03:37] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-09-30 01:03:37] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-09-30 01:03:37] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-30 01:03:37] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-09-30 01:03:37] local.INFO: All Details:  
[2025-09-30 01:03:37] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-09-30 01:05:20] local.INFO: getData function called.  
[2025-09-30 01:05:20] local.INFO: Date received: 30/09/25 Tuesday  
[2025-09-30 01:05:20] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-09-30 01:05:20] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-09-30 01:05:20] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-30 01:05:20] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-09-30 01:05:20] local.INFO: All Details:  
[2025-09-30 01:05:20] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-09-30 01:26:39] local.INFO: Day received: {"day":"30/09/25 Tuesday"} 
[2025-09-30 01:26:39] local.INFO: Tab value: strength  
[2025-09-30 01:26:39] local.INFO: Tab value: warmup  
[2025-09-30 01:26:39] local.INFO: Tab value: conditioning  
[2025-09-30 01:26:39] local.INFO: Tab value: weightlifting  
[2025-09-30 01:26:39] local.INFO: Tab value: test  
[2025-09-30 01:26:39] local.INFO: Tab value: test  
[2025-09-30 01:26:39] local.INFO: Day received: {"day":"30/09/25 Tuesday"} 
[2025-09-30 01:26:39] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-30 01:27:06] local.INFO: Day received: {"day":"30/09/25 Tuesday"} 
[2025-09-30 01:27:06] local.INFO: Tab value: weightlifting  
[2025-09-30 01:27:06] local.INFO: Tab value: test  
[2025-09-30 01:27:06] local.INFO: Tab value: test  
[2025-09-30 01:27:06] local.INFO: Tab value: warmup  
[2025-09-30 01:27:06] local.INFO: Tab value: strength  
[2025-09-30 01:27:06] local.INFO: Tab value: conditioning  
[2025-09-30 01:27:06] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-09-30 01:27:06] local.INFO: Day received: {"day":"30/09/25 Tuesday"} 
[2025-09-30 01:28:07] local.INFO: Incoming Warmup Request Data:  {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdatew":"30/09/25 Tuesday","categoryw_2":"8","workoutw_2":"23","namew_2":null,"warmup_id":null,"namew_1":"Test Cardio","categoryw_1":"8","workoutw_1":"23","repsw_1":"5","unit_1":"Cal","weigthc_1":null,"male_1":"10","female_1":"5"} 
[2025-09-30 01:28:07] local.INFO: Processing Warmup Group #1: {"namew_1":"Test Cardio","categoryw_1":"8","workoutw_1":"23","repsw_1":"5","unit_1":"Cal","weigthc_1":null,"male_1":"10","female_1":"5"} 
[2025-09-30 01:28:07] local.INFO: Warmup entry saved with ID: 17  
[2025-09-30 01:28:07] local.INFO: Processing Warmup Group #2: {"categoryw_2":"8","workoutw_2":"23","namew_2":null} 
[2025-09-30 01:28:13] local.INFO: Received date: 30/09/25 Tuesday  
[2025-09-30 01:28:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-30 01:28:13] local.INFO: Strength records fetched: 0  
[2025-09-30 01:28:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-09-30 01:28:13] local.INFO: Day received: {"day":"30/09/25 Tuesday"} 
[2025-09-30 01:29:00] local.INFO: Received request data: {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdates":"30/09/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:00] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:00] local.INFO: Created Strength ID {"id":40} 
[2025-09-30 01:29:00] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":40} 
[2025-09-30 01:29:01] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":40} 
[2025-09-30 01:29:01] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":40} 
[2025-09-30 01:29:01] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-30 01:29:01] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/09/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-30 01:29:05] local.INFO: Received request data: {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdates":"30/09/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:05] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:05] local.INFO: Created Strength ID {"id":41} 
[2025-09-30 01:29:05] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":41} 
[2025-09-30 01:29:05] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":41} 
[2025-09-30 01:29:05] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":41} 
[2025-09-30 01:29:05] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-30 01:29:05] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/09/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-30 01:29:09] local.INFO: Received request data: {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdates":"30/09/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:09] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:09] local.INFO: Created Strength ID {"id":42} 
[2025-09-30 01:29:09] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":42} 
[2025-09-30 01:29:09] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":42} 
[2025-09-30 01:29:09] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":42} 
[2025-09-30 01:29:09] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-30 01:29:09] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/09/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-30 01:29:09] local.INFO: Received request data: {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdates":"30/09/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:09] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:09] local.INFO: Created Strength ID {"id":43} 
[2025-09-30 01:29:09] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":43} 
[2025-09-30 01:29:09] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":43} 
[2025-09-30 01:29:09] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":43} 
[2025-09-30 01:29:09] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-30 01:29:09] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/09/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-30 01:29:13] local.INFO: Received request data: {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdates":"30/09/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:13] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:13] local.INFO: Created Strength ID {"id":44} 
[2025-09-30 01:29:13] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":44} 
[2025-09-30 01:29:13] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":44} 
[2025-09-30 01:29:13] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":44} 
[2025-09-30 01:29:13] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-30 01:29:13] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/09/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-30 01:29:13] local.INFO: Received request data: {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdates":"30/09/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:13] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:13] local.INFO: Created Strength ID {"id":45} 
[2025-09-30 01:29:13] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":45} 
[2025-09-30 01:29:13] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":45} 
[2025-09-30 01:29:13] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":45} 
[2025-09-30 01:29:13] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-30 01:29:13] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/09/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-30 01:29:19] local.INFO: Received request data: {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdates":"30/09/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:19] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:19] local.INFO: Created Strength ID {"id":46} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":46} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":46} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":46} 
[2025-09-30 01:29:19] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-30 01:29:19] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/09/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-30 01:29:19] local.INFO: Received request data: {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdates":"30/09/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:19] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:19] local.INFO: Created Strength ID {"id":47} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":47} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":47} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":47} 
[2025-09-30 01:29:19] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-30 01:29:19] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/09/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-30 01:29:19] local.INFO: Received request data: {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdates":"30/09/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:19] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:19] local.INFO: Created Strength ID {"id":48} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":48} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":48} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":48} 
[2025-09-30 01:29:19] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-30 01:29:19] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/09/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-30 01:29:19] local.INFO: Received request data: {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdates":"30/09/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:19] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:19] local.INFO: Created Strength ID {"id":49} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":49} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":49} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":49} 
[2025-09-30 01:29:19] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-30 01:29:19] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/09/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-30 01:29:19] local.INFO: Received request data: {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdates":"30/09/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:19] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:19] local.INFO: Created Strength ID {"id":50} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":50} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":50} 
[2025-09-30 01:29:19] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":50} 
[2025-09-30 01:29:19] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-30 01:29:19] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/09/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-30 01:29:20] local.INFO: Received request data: {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","selectdates":"30/09/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:20] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test Strength","categorys_1":"4","workouts_1":"17","unit_1":"%^","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","restreds_1":"00:01:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2025-09-30 01:29:20] local.INFO: Created Strength ID {"id":51} 
[2025-09-30 01:29:20] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":51} 
[2025-09-30 01:29:20] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":51} 
[2025-09-30 01:29:20] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":51} 
[2025-09-30 01:29:20] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-09-30 01:29:20] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/09/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-09-30 01:29:36] local.INFO: return Strength Request Data:  {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","date":"30/09/25 Tuesday","name":null,"category_id":"4","workout_id":"17"} 
[2025-09-30 01:29:36] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-09-30 01:30:07] local.INFO: assigned weightlifting:  {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","workout_id":"40","workout_type":"strength","date":"30/09/25 Tuesday","assigned":"1","class_id":"31"} 
[2025-09-30 01:30:10] local.INFO: Day received: {"day":"30/09/25 Tuesday"} 
[2025-09-30 01:35:04] local.INFO: Day received: {"day":"30/09/25 Tuesday"} 
[2025-09-30 01:35:10] local.INFO: assigned weightlifting:  {"_token":"i07B6j6bwZfUYxDKhyKBbukGRxHsQ2d369unA59w","workout_id":"17","workout_type":"warmup","date":"30/09/25 Tuesday","assigned":"1","class_id":"31"} 
[2025-09-30 01:35:13] local.INFO: Day received: {"day":"30/09/25 Tuesday"} 
[2025-09-30 06:13:02] local.INFO: getData function called.  
[2025-09-30 06:13:02] local.INFO: Date received: 30/09/25 Tuesday  
[2025-09-30 06:13:02] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-09-30 06:13:02] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-09-30 06:13:02] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-09-30 06:13:02] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-09-30 06:13:02] local.INFO: All Details:  
[2025-09-30 06:13:02] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-01 06:59:41] local.INFO: getData function called.  
[2025-10-01 06:59:41] local.INFO: Date received: 01/10/25 Wednesday  
[2025-10-01 06:59:41] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-01 06:59:41] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-01 06:59:41] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-01 06:59:42] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-01 06:59:42] local.INFO: All Details:  
[2025-10-01 06:59:42] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-01 07:00:30] local.INFO: getData function called.  
[2025-10-01 07:00:30] local.INFO: Date received: 01/10/25 Wednesday  
[2025-10-01 07:00:30] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-01 07:00:30] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-01 07:00:30] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-01 07:00:30] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-01 07:00:30] local.INFO: All Details:  
[2025-10-01 07:00:30] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-01 09:26:38] local.INFO: getData function called.  
[2025-10-01 09:26:38] local.INFO: Date received: 01/10/25 Wednesday  
[2025-10-01 09:26:38] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-01 09:26:38] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-01 09:26:38] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-01 09:26:38] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-01 09:26:38] local.INFO: All Details:  
[2025-10-01 09:26:38] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-07 06:24:30] local.INFO: getData function called.  
[2025-10-07 06:24:31] local.INFO: Date received: 07/10/25 Tuesday  
[2025-10-07 06:24:31] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-07 06:24:31] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-07 06:24:31] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-07 06:24:31] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-07 06:24:31] local.INFO: All Details:  
[2025-10-07 06:24:31] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-07 06:36:14] local.INFO: Day received: {"day":"07/10/25 Tuesday"} 
[2025-10-07 06:36:14] local.INFO: Tab value: warmup  
[2025-10-07 06:36:14] local.INFO: Tab value: strength  
[2025-10-07 06:36:14] local.INFO: Tab value: conditioning  
[2025-10-07 06:36:14] local.INFO: Tab value: weightlifting  
[2025-10-07 06:36:14] local.INFO: Tab value: test  
[2025-10-07 06:36:14] local.INFO: Tab value: test  
[2025-10-07 06:36:14] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-07 06:36:14] local.INFO: Day received: {"day":"07/10/25 Tuesday"} 
[2025-10-07 06:36:27] local.INFO: Day received: {"day":"07/10/25 Tuesday"} 
[2025-10-07 06:36:27] local.INFO: Tab value: warmup  
[2025-10-07 06:36:27] local.INFO: Tab value: strength  
[2025-10-07 06:36:27] local.INFO: Tab value: conditioning  
[2025-10-07 06:36:27] local.INFO: Tab value: test  
[2025-10-07 06:36:27] local.INFO: Tab value: test  
[2025-10-07 06:36:27] local.INFO: Tab value: weightlifting  
[2025-10-07 06:36:27] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-07 06:36:28] local.INFO: Day received: {"day":"07/10/25 Tuesday"} 
[2025-10-07 06:36:34] local.INFO: Day received: {"day":"07/10/25 Tuesday"} 
[2025-10-07 06:36:34] local.INFO: Tab value: warmup  
[2025-10-07 06:36:35] local.INFO: Tab value: strength  
[2025-10-07 06:36:35] local.INFO: Tab value: conditioning  
[2025-10-07 06:36:35] local.INFO: Tab value: weightlifting  
[2025-10-07 06:36:35] local.INFO: Tab value: test  
[2025-10-07 06:36:35] local.INFO: Tab value: test  
[2025-10-07 06:36:35] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-07 06:36:35] local.INFO: Day received: {"day":"07/10/25 Tuesday"} 
[2025-10-07 06:42:27] local.INFO: getData function called.  
[2025-10-07 06:42:27] local.INFO: Date received: 07/10/25 Tuesday  
[2025-10-07 06:42:27] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-07 06:42:27] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-07 06:42:27] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-07 06:42:27] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-07 06:42:27] local.INFO: All Details:  
[2025-10-07 06:42:27] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-07 06:47:12] local.INFO: getData function called.  
[2025-10-07 06:47:12] local.INFO: Date received: 07/10/25 Tuesday  
[2025-10-07 06:47:12] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-07 06:47:12] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-07 06:47:12] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-07 06:47:12] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-07 06:47:12] local.INFO: All Details:  
[2025-10-07 06:47:12] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-07 07:41:15] local.INFO: getData function called.  
[2025-10-07 07:41:15] local.INFO: Date received: 07/10/25 Tuesday  
[2025-10-07 07:41:15] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-07 07:41:15] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-07 07:41:15] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-07 07:41:15] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-07 07:41:15] local.INFO: All Details:  
[2025-10-07 07:41:15] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-07 10:59:52] local.INFO: getData function called.  
[2025-10-07 10:59:52] local.INFO: Date received: 07/10/25 Tuesday  
[2025-10-07 10:59:52] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-07 10:59:52] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-07 10:59:52] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-07 10:59:52] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-07 10:59:52] local.INFO: All Details:  
[2025-10-07 10:59:52] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-07 11:00:18] local.INFO: getData function called.  
[2025-10-07 11:00:18] local.INFO: Date received: 07/10/25 Tuesday  
[2025-10-07 11:00:18] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-07 11:00:18] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-07 11:00:18] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-07 11:00:18] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-07 11:00:18] local.INFO: All Details:  
[2025-10-07 11:00:18] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-07 11:00:42] local.INFO: getData function called.  
[2025-10-07 11:00:42] local.INFO: Date received: 07/10/25 Tuesday  
[2025-10-07 11:00:42] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-07 11:00:42] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-07 11:00:42] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-07 11:00:42] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-07 11:00:42] local.INFO: All Details:  
[2025-10-07 11:00:42] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-07 11:00:57] local.INFO: Day received: {"day":"07/10/25 Tuesday"} 
[2025-10-07 11:00:57] local.INFO: Tab value: warmup  
[2025-10-07 11:00:57] local.INFO: Tab value: strength  
[2025-10-07 11:00:57] local.INFO: Tab value: conditioning  
[2025-10-07 11:00:57] local.INFO: Tab value: weightlifting  
[2025-10-07 11:00:57] local.INFO: Tab value: test  
[2025-10-07 11:00:57] local.INFO: Tab value: test  
[2025-10-07 11:00:57] local.INFO: Day received: {"day":"07/10/25 Tuesday"} 
[2025-10-07 11:00:57] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-07 11:14:42] local.INFO: Day received: {"day":"07/10/25 Tuesday"} 
[2025-10-07 11:14:43] local.INFO: Tab value: warmup  
[2025-10-07 11:14:43] local.INFO: Tab value: strength  
[2025-10-07 11:14:43] local.INFO: Tab value: conditioning  
[2025-10-07 11:14:43] local.INFO: Tab value: weightlifting  
[2025-10-07 11:14:43] local.INFO: Tab value: test  
[2025-10-07 11:14:43] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-07 11:14:43] local.INFO: Tab value: test  
[2025-10-07 11:14:43] local.INFO: Day received: {"day":"07/10/25 Tuesday"} 
[2025-10-07 11:25:20] local.INFO: getData function called.  
[2025-10-07 11:25:20] local.INFO: Date received: 07/10/25 Tuesday  
[2025-10-07 11:25:20] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-07 11:25:20] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-07 11:25:20] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-07 11:25:20] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-07 11:25:20] local.INFO: All Details:  
[2025-10-07 11:25:20] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-08 04:42:43] local.INFO: getData function called.  
[2025-10-08 04:42:43] local.INFO: Date received: 08/10/25 Wednesday  
[2025-10-08 04:42:43] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-08 04:42:43] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-08 04:42:43] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-08 04:42:44] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-08 04:42:44] local.INFO: All Details:  
[2025-10-08 04:42:44] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-08 04:43:26] local.INFO: getData function called.  
[2025-10-08 04:43:26] local.INFO: Date received: 08/10/25 Wednesday  
[2025-10-08 04:43:26] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-08 04:43:26] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-08 04:43:26] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-08 04:43:26] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-08 04:43:26] local.INFO: All Details:  
[2025-10-08 04:43:26] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-08 05:03:09] local.INFO: getData function called.  
[2025-10-08 05:03:09] local.INFO: Date received: 07/10/25 Tuesday  
[2025-10-08 05:03:09] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-08 05:03:09] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-08 05:03:09] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-08 05:03:09] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-08 05:03:09] local.INFO: All Details:  
[2025-10-08 05:03:09] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-08 05:41:02] local.INFO: getData function called.  
[2025-10-08 05:41:02] local.INFO: Date received: 08/10/25 Wednesday  
[2025-10-08 05:41:02] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-08 05:41:02] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-08 05:41:02] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-08 05:41:02] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-08 05:41:02] local.INFO: All Details:  
[2025-10-08 05:41:02] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-08 05:41:08] local.INFO: getData function called.  
[2025-10-08 05:41:08] local.INFO: Date received: 08/10/25 Wednesday  
[2025-10-08 05:41:08] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-08 05:41:08] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-08 05:41:08] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-08 05:41:08] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-08 05:41:08] local.INFO: All Details:  
[2025-10-08 05:41:08] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-08 06:01:44] local.INFO: getData function called.  
[2025-10-08 06:01:44] local.INFO: Date received: 08/10/25 Wednesday  
[2025-10-08 06:01:44] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-08 06:01:44] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-08 06:01:44] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-08 06:01:44] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-08 06:01:44] local.INFO: All Details:  
[2025-10-08 06:01:44] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-08 06:31:24] local.INFO: getData function called.  
[2025-10-08 06:31:24] local.INFO: Date received: 08/10/25 Wednesday  
[2025-10-08 06:31:24] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-08 06:31:24] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-08 06:31:24] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-08 06:31:24] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-08 06:31:24] local.INFO: All Details:  
[2025-10-08 06:31:24] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-08 08:23:36] local.INFO: getData function called.  
[2025-10-08 08:23:36] local.INFO: Date received: 08/10/25 Wednesday  
[2025-10-08 08:23:36] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-08 08:23:36] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-08 08:23:36] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-08 08:23:36] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-08 08:23:36] local.INFO: All Details:  
[2025-10-08 08:23:36] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-08 09:39:20] local.INFO: getData function called.  
[2025-10-08 09:39:20] local.INFO: Date received: 08/10/25 Wednesday  
[2025-10-08 09:39:20] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-08 09:39:20] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-08 09:39:20] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-08 09:39:20] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-08 09:39:20] local.INFO: All Details:  
[2025-10-08 09:39:20] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-08 09:39:44] local.INFO: getData function called.  
[2025-10-08 09:39:44] local.INFO: Date received: 08/10/25 Wednesday  
[2025-10-08 09:39:44] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-08 09:39:44] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-08 09:39:44] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-08 09:39:44] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-08 09:39:44] local.INFO: All Details:  
[2025-10-08 09:39:44] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-08 11:11:07] local.INFO: Day received: {"day":"08/10/25 Wednesday"} 
[2025-10-08 11:11:07] local.INFO: Tab value: strength  
[2025-10-08 11:11:07] local.INFO: Tab value: warmup  
[2025-10-08 11:11:08] local.INFO: Tab value: conditioning  
[2025-10-08 11:11:08] local.INFO: Tab value: test  
[2025-10-08 11:11:08] local.INFO: Tab value: weightlifting  
[2025-10-08 11:11:08] local.INFO: Tab value: test  
[2025-10-08 11:11:08] local.INFO: Day received: {"day":"08/10/25 Wednesday"} 
[2025-10-08 11:11:08] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-10 07:52:40] local.INFO: Day received: {"day":"10/10/25 Friday"} 
[2025-10-10 07:52:40] local.INFO: Tab value: strength  
[2025-10-10 07:52:40] local.INFO: Tab value: warmup  
[2025-10-10 07:52:41] local.INFO: Tab value: conditioning  
[2025-10-10 07:52:41] local.INFO: Tab value: test  
[2025-10-10 07:52:41] local.INFO: Tab value: weightlifting  
[2025-10-10 07:52:41] local.INFO: Tab value: test  
[2025-10-10 07:52:41] local.INFO: Day received: {"day":"10/10/25 Friday"} 
[2025-10-10 07:52:41] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-20 04:16:46] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:16:46] local.INFO: Tab value: warmup  
[2025-10-20 04:16:46] local.INFO: Tab value: strength  
[2025-10-20 04:16:46] local.INFO: Tab value: conditioning  
[2025-10-20 04:16:46] local.INFO: Tab value: test  
[2025-10-20 04:16:46] local.INFO: Tab value: test  
[2025-10-20 04:16:46] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-20 04:16:46] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:16:46] local.INFO: Tab value: weightlifting  
[2025-10-20 04:17:02] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:17:02] local.INFO: Tab value: warmup  
[2025-10-20 04:17:02] local.INFO: Tab value: strength  
[2025-10-20 04:17:02] local.INFO: Tab value: conditioning  
[2025-10-20 04:17:02] local.INFO: Tab value: weightlifting  
[2025-10-20 04:17:02] local.INFO: Tab value: test  
[2025-10-20 04:17:02] local.INFO: Tab value: test  
[2025-10-20 04:17:02] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-20 04:17:02] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:17:14] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:17:15] local.INFO: Tab value: warmup  
[2025-10-20 04:17:15] local.INFO: Tab value: strength  
[2025-10-20 04:17:15] local.INFO: Tab value: weightlifting  
[2025-10-20 04:17:15] local.INFO: Tab value: conditioning  
[2025-10-20 04:17:15] local.INFO: Tab value: test  
[2025-10-20 04:17:15] local.INFO: Tab value: test  
[2025-10-20 04:17:15] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-20 04:17:15] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:17:40] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:17:40] local.INFO: Tab value: warmup  
[2025-10-20 04:17:40] local.INFO: Tab value: strength  
[2025-10-20 04:17:40] local.INFO: Tab value: conditioning  
[2025-10-20 04:17:40] local.INFO: Tab value: test  
[2025-10-20 04:17:40] local.INFO: Tab value: weightlifting  
[2025-10-20 04:17:40] local.INFO: Tab value: test  
[2025-10-20 04:17:40] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-20 04:17:40] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:18:04] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:18:04] local.INFO: Tab value: warmup  
[2025-10-20 04:18:04] local.INFO: Tab value: conditioning  
[2025-10-20 04:18:04] local.INFO: Tab value: strength  
[2025-10-20 04:18:04] local.INFO: Tab value: weightlifting  
[2025-10-20 04:18:04] local.INFO: Tab value: test  
[2025-10-20 04:18:04] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-20 04:18:04] local.INFO: Tab value: test  
[2025-10-20 04:18:05] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:18:51] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:18:51] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:19:20] local.INFO: Incoming Warmup Request Data:  {"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","selectdatew":"20/10/25 Monday","categoryw_2":"3","namew_2":null,"warmup_id":null,"namew_1":"onewarmup","categoryw_1":"2","workoutw_1":"109","repsw_1":"3","unit_1":"%","weigthc_1":"20","male_1":null,"female_1":null} 
[2025-10-20 04:19:20] local.INFO: Processing Warmup Group #1: {"namew_1":"onewarmup","categoryw_1":"2","workoutw_1":"109","repsw_1":"3","unit_1":"%","weigthc_1":"20","male_1":null,"female_1":null} 
[2025-10-20 04:19:20] local.INFO: Warmup entry saved with ID: 18  
[2025-10-20 04:19:20] local.INFO: Processing Warmup Group #2: {"categoryw_2":"3","namew_2":null} 
[2025-10-20 04:19:38] local.INFO: Incoming Warmup Request Data:  {"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","selectdatew":"20/10/25 Monday","categoryw_2":"3","namew_2":null,"warmup_id":null,"namew_1":"twowarmup","categoryw_1":"1","workoutw_1":"106","repsw_1":"3","unit_1":"Kg","weigthc_1":"20","male_1":"20","female_1":null} 
[2025-10-20 04:19:38] local.INFO: Processing Warmup Group #1: {"namew_1":"twowarmup","categoryw_1":"1","workoutw_1":"106","repsw_1":"3","unit_1":"Kg","weigthc_1":"20","male_1":"20","female_1":null} 
[2025-10-20 04:19:38] local.INFO: Warmup entry saved with ID: 19  
[2025-10-20 04:19:38] local.INFO: Processing Warmup Group #2: {"categoryw_2":"3","namew_2":null} 
[2025-10-20 04:19:43] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:19:43] local.INFO: Tab value: warmup  
[2025-10-20 04:19:43] local.INFO: Tab value: conditioning  
[2025-10-20 04:19:43] local.INFO: Tab value: strength  
[2025-10-20 04:19:43] local.INFO: Tab value: weightlifting  
[2025-10-20 04:19:43] local.INFO: Tab value: test  
[2025-10-20 04:19:43] local.INFO: Tab value: test  
[2025-10-20 04:19:43] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-20 04:19:44] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:19:46] local.INFO: assigned weightlifting:  {"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","workout_id":"18","workout_type":"warmup","date":"20/10/25 Monday","assigned":"1","class_id":"35"} 
[2025-10-20 04:19:47] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:19:50] local.INFO: assigned weightlifting:  {"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","workout_id":"19","workout_type":"warmup","date":"20/10/25 Monday","assigned":"1","class_id":"37"} 
[2025-10-20 04:19:51] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:19:52] local.INFO: Received date: 20/10/25 Monday  
[2025-10-20 04:19:52] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-20 04:19:52] local.INFO: Strength records fetched: 0  
[2025-10-20 04:19:52] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-20 04:19:53] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:20:22] local.INFO: Received request data: {"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","selectdates":"20/10/25 Monday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"4","workouts_1":"66","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-20 04:20:22] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"4","workouts_1":"66","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-20 04:20:22] local.INFO: Created Strength ID {"id":52} 
[2025-10-20 04:20:22] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":52} 
[2025-10-20 04:20:22] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-10-20 04:20:22] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '20/10/25 Monday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-10-20 04:20:33] local.INFO: Received request data: {"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","selectdates":"20/10/25 Monday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength02","categorys_1":"2","workouts_1":"45","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-20 04:20:33] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength02","categorys_1":"2","workouts_1":"45","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-20 04:20:33] local.INFO: Created Strength ID {"id":53} 
[2025-10-20 04:20:33] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":53} 
[2025-10-20 04:20:33] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-10-20 04:20:33] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '20/10/25 Monday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-10-20 04:20:36] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:20:36] local.INFO: Tab value: warmup  
[2025-10-20 04:20:36] local.INFO: Tab value: strength  
[2025-10-20 04:20:36] local.INFO: Tab value: conditioning  
[2025-10-20 04:20:36] local.INFO: Tab value: test  
[2025-10-20 04:20:36] local.INFO: Tab value: weightlifting  
[2025-10-20 04:20:36] local.INFO: Tab value: test  
[2025-10-20 04:20:36] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-20 04:20:36] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:20:44] local.INFO: Received date: 20/10/25 Monday  
[2025-10-20 04:20:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":52,"category_id":4,"workout_id":66,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"20/10/25 Monday","created_at":"2025-10-20T04:20:22.000000Z","updated_at":"2025-10-20T04:20:22.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},"setstrengthsetsreps":[{"id":116,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":52,"created_at":"2025-10-20T04:20:22.000000Z","updated_at":"2025-10-20T04:20:22.000000Z"}],"alt_category":null,"alt_workout":null},{"id":53,"category_id":2,"workout_id":45,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"20/10/25 Monday","created_at":"2025-10-20T04:20:33.000000Z","updated_at":"2025-10-20T04:20:33.000000Z","workoutname":"strength02","is_assigned":0,"unit":"%","category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},"setstrengthsetsreps":[{"id":117,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":53,"created_at":"2025-10-20T04:20:33.000000Z","updated_at":"2025-10-20T04:20:33.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-20 04:20:44] local.INFO: Strength records fetched: 2  
[2025-10-20 04:20:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":52,"category_id":4,"category_name":"Squat","workout_id":66,"workout_type":"Low bar squat","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"20/10/25 Monday","sets":[{"id":116,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":52,"created_at":"2025-10-20T04:20:22.000000Z","updated_at":"2025-10-20T04:20:22.000000Z"}]},{"id":53,"category_id":2,"category_name":"Vertical press","workout_id":45,"workout_type":"DB push press","workoutname":"strength02","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"20/10/25 Monday","sets":[{"id":117,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":53,"created_at":"2025-10-20T04:20:33.000000Z","updated_at":"2025-10-20T04:20:33.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-20 04:20:44] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:20:48] local.INFO: assigned weightlifting:  {"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","workout_id":"52","workout_type":"strength","date":"20/10/25 Monday","assigned":"1","class_id":"36"} 
[2025-10-20 04:20:52] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:20:56] local.INFO: assigned weightlifting:  {"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","workout_id":"53","workout_type":"strength","date":"20/10/25 Monday","assigned":"1","class_id":"35"} 
[2025-10-20 04:20:57] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:21:03] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:21:03] local.INFO: Tab value: warmup  
[2025-10-20 04:21:04] local.INFO: Tab value: strength  
[2025-10-20 04:21:04] local.INFO: Tab value: conditioning  
[2025-10-20 04:21:04] local.INFO: Tab value: weightlifting  
[2025-10-20 04:21:04] local.INFO: Tab value: test  
[2025-10-20 04:21:04] local.INFO: Tab value: test  
[2025-10-20 04:21:04] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-20 04:21:04] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:21:04] local.INFO: Received date: 20/10/25 Monday  
[2025-10-20 04:21:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":52,"category_id":4,"workout_id":66,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"20/10/25 Monday","created_at":"2025-10-20T04:20:22.000000Z","updated_at":"2025-10-20T04:20:48.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},"setstrengthsetsreps":[{"id":116,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":52,"created_at":"2025-10-20T04:20:22.000000Z","updated_at":"2025-10-20T04:20:22.000000Z"}],"alt_category":null,"alt_workout":null},{"id":53,"category_id":2,"workout_id":45,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"20/10/25 Monday","created_at":"2025-10-20T04:20:33.000000Z","updated_at":"2025-10-20T04:20:56.000000Z","workoutname":"strength02","is_assigned":1,"unit":"%","category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},"setstrengthsetsreps":[{"id":117,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":53,"created_at":"2025-10-20T04:20:33.000000Z","updated_at":"2025-10-20T04:20:33.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-20 04:21:04] local.INFO: Strength records fetched: 2  
[2025-10-20 04:21:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":52,"category_id":4,"category_name":"Squat","workout_id":66,"workout_type":"Low bar squat","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"20/10/25 Monday","sets":[{"id":116,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":52,"created_at":"2025-10-20T04:20:22.000000Z","updated_at":"2025-10-20T04:20:22.000000Z"}]},{"id":53,"category_id":2,"category_name":"Vertical press","workout_id":45,"workout_type":"DB push press","workoutname":"strength02","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"20/10/25 Monday","sets":[{"id":117,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":53,"created_at":"2025-10-20T04:20:33.000000Z","updated_at":"2025-10-20T04:20:33.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-20 04:21:04] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:37:27] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:37:27] local.INFO: return Weightlifting Request Data:   
[2025-10-20 04:37:40] local.INFO: Incoming Weightlifting Request Data:  {"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","selectdatewe":"20/10/25 Monday","categorywe_2":"4","namewe_2":null,"weightlifting_id":null,"namewe_1":"weight01","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"20","setwid_1":null,"setswe_1":"1","repswe_1":"5","restredwe_1":"00:04:00","restyellowwe_1":"00:04:00","restgreenwe_1":"00:04:00","intensitywe_1":"medium"} 
[2025-10-20 04:37:40] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"weight01","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"20","setwid_1":null,"setswe_1":"1","repswe_1":"5","restredwe_1":"00:04:00","restyellowwe_1":"00:04:00","restgreenwe_1":"00:04:00","intensitywe_1":"medium"} 
[2025-10-20 04:37:40] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"weight01","weigth":"20","unit":"%","restred":"00:04:00","restgreen":"00:04:00","restyellow":"00:04:00","intensity":"medium","date":"20/10/25 Monday"} 
[2025-10-20 04:37:40] local.INFO: Created Weightlifting ID {"id":10} 
[2025-10-20 04:37:40] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"weightlifting_id":10} 
[2025-10-20 04:37:42] local.INFO: return Weightlifting Request Data:  [{"id":10,"category_id":5,"category_name":"Hinge","workoutname":"weight01","workout_id":117,"workout_type":"Seal row","weight":20.0,"unit":"%","restwered":"00:04:00","restweyellow":"00:04:00","restwegreen":"00:04:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"20/10/25 Monday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":15,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"weightlifting_id":10,"created_at":"2025-10-20T04:37:40.000000Z","updated_at":"2025-10-20T04:37:40.000000Z"}]}}] 
[2025-10-20 04:37:42] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:37:45] local.INFO: assigned weightlifting:  {"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","class_id":"38","workout_id":"10","workout_type":"weightlifting","date":"20/10/25 Monday","assigned":"1"} 
[2025-10-20 04:42:29] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:42:30] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:42:31] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:43:44] local.INFO: Incoming Conditioning Request Data:  {"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","selectdatec":"20/10/25 Monday","rounds":null,"conditioning_id":null,"namec_1":"ccc01","timeTC_1":"00:10","rounds_1":null,"pyramidCheckboxCon":"on","pyramidSet_1":"1","reps_1":"3","unit_1":"/10","weigthPy_1":"10","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"99","repsc_1":"2","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-10-20 04:43:44] local.INFO: Processed Conditioning Data: {"namec_1":"ccc01","timeTC_1":"00:10","rounds_1":null,"pyramidSet_1":"1","reps_1":"3","unit_1":"/10","weigthPy_1":"10","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"99","repsc_1":"2","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-10-20 04:43:44] local.INFO: Created Conditioning ID {"id":15} 
[2025-10-20 04:43:44] local.INFO: Saving PyramidSet row: {"sets":null,"reps":"3","unit":"/10","pyramidweight":"10","pyramidmale":null,"pyramidfemale":null,"conditioning_id":15} 
[2025-10-20 04:43:46] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:44:22] local.INFO: assigned weightlifting:  {"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","workout_id":"15","workout_type":"conditioning","date":"20/10/25 Monday","assigned":"1","class_id":"37"} 
[2025-10-20 04:44:24] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:44:25] local.INFO: Received date: 20/10/25 Monday  
[2025-10-20 04:44:25] local.INFO: Test records fetched: 0  
[2025-10-20 04:44:25] local.INFO: Test records fetched: []  
[2025-10-20 04:44:25] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-20 04:44:26] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-20 04:44:38] local.INFO: Test Request Data dd: {"request":{"_token":"HT3YW97dS0ZbvKDhwdEiIqgrHMfjegKFDcOPHDJU","selectdatet":"20/10/25 Monday","test_id":null,"namet_1":"test01","test-category_1":"4","test-workout_1":"70","test-member_1":"1"}} 
[2025-10-20 04:44:39] local.INFO: Received date: 20/10/25 Monday  
[2025-10-20 04:44:39] local.INFO: Test records fetched: 1  
[2025-10-20 04:44:39] local.INFO: Test records fetched: [{"id":7,"category_id":4,"category_name":"Squat","workout_id":70,"is_assigned":0,"workout_type":"Squat jump","member_id":1,"member_name":"James","workoutname":"test01"}]  
[2025-10-20 04:44:39] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":7,"category_id":4,"category_name":"Squat","workout_id":70,"is_assigned":0,"workout_type":"Squat jump","member_id":1,"member_name":"James","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-20 04:44:39] local.INFO: Day received: {"day":"20/10/25 Monday"} 
[2025-10-24 02:53:04] local.INFO: getData function called.  
[2025-10-24 02:53:04] local.INFO: Date received: 24/10/25 Friday  
[2025-10-24 02:53:04] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-24 02:53:04] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-24 02:53:04] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-24 02:53:04] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-24 02:53:04] local.INFO: All Details:  
[2025-10-24 02:53:04] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-24 02:54:07] local.INFO: getData function called.  
[2025-10-24 02:54:07] local.INFO: Date received: 24/10/25 Friday  
[2025-10-24 02:54:07] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-10-24 02:54:07] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-10-24 02:54:07] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-24 02:54:07] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-10-24 02:54:07] local.INFO: All Details:  
[2025-10-24 02:54:07] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-10-24 02:54:22] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 02:54:22] local.INFO: Tab value: warmup  
[2025-10-24 02:54:22] local.INFO: Tab value: strength  
[2025-10-24 02:54:22] local.INFO: Tab value: conditioning  
[2025-10-24 02:54:22] local.INFO: Tab value: weightlifting  
[2025-10-24 02:54:22] local.INFO: Tab value: test  
[2025-10-24 02:54:22] local.INFO: Tab value: test  
[2025-10-24 02:54:22] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-24 02:54:22] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 02:54:22] local.INFO: Received date: 24/10/25 Friday  
[2025-10-24 02:54:22] local.INFO: Test records fetched: 0  
[2025-10-24 02:54:22] local.INFO: Test records fetched: []  
[2025-10-24 02:54:22] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-24 02:54:23] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 02:55:04] local.INFO: Test Request Data dd: {"request":{"_token":"Qrhfftx9OFvM1aNXcSKGuoMaMdBS29ESmoM2JYQy","selectdatet":"24/10/25 Friday","test_id":null,"namet_1":"test","test-category_1":"1","test-workout_1":"34","test-member_1":"2"}} 
[2025-10-24 02:55:05] local.INFO: Received date: 24/10/25 Friday  
[2025-10-24 02:55:05] local.INFO: Test records fetched: 1  
[2025-10-24 02:55:05] local.INFO: Test records fetched: [{"id":8,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"is_assigned":0,"workout_type":"Head supported row","member_id":2,"member_name":"Test","workoutname":"test"}]  
[2025-10-24 02:55:05] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"is_assigned":0,"workout_type":"Head supported row","member_id":2,"member_name":"Test","workoutname":"test"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-24 02:55:06] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 03:28:08] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 03:28:09] local.INFO: Tab value: warmup  
[2025-10-24 03:28:09] local.INFO: Tab value: strength  
[2025-10-24 03:28:09] local.INFO: Tab value: conditioning  
[2025-10-24 03:28:09] local.INFO: Tab value: weightlifting  
[2025-10-24 03:28:09] local.INFO: Tab value: test  
[2025-10-24 03:28:09] local.INFO: Tab value: test  
[2025-10-24 03:28:09] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-24 03:28:09] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 03:28:19] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 03:28:19] local.INFO: Tab value: warmup  
[2025-10-24 03:28:19] local.INFO: Tab value: strength  
[2025-10-24 03:28:19] local.INFO: Tab value: conditioning  
[2025-10-24 03:28:19] local.INFO: Tab value: weightlifting  
[2025-10-24 03:28:19] local.INFO: Tab value: test  
[2025-10-24 03:28:19] local.INFO: Tab value: test  
[2025-10-24 03:28:19] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-24 03:28:19] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 03:36:09] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 03:36:09] local.INFO: Received date: 24/10/25 Friday  
[2025-10-24 03:36:09] local.INFO: Test records fetched: 1  
[2025-10-24 03:36:09] local.INFO: Test records fetched: [{"id":8,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"is_assigned":0,"workout_type":"Head supported row","member_id":2,"member_name":"Test","workoutname":"test"}]  
[2025-10-24 03:36:09] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"is_assigned":0,"workout_type":"Head supported row","member_id":2,"member_name":"Test","workoutname":"test"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-24 07:32:52] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 07:32:52] local.INFO: Tab value: warmup  
[2025-10-24 07:32:52] local.INFO: Tab value: strength  
[2025-10-24 07:32:52] local.INFO: Tab value: conditioning  
[2025-10-24 07:32:52] local.INFO: Tab value: test  
[2025-10-24 07:32:52] local.INFO: Tab value: weightlifting  
[2025-10-24 07:32:52] local.INFO: Tab value: test  
[2025-10-24 07:32:52] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-24 07:32:52] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 07:32:53] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 07:32:53] local.INFO: Received date: 24/10/25 Friday  
[2025-10-24 07:32:53] local.INFO: Test records fetched: 1  
[2025-10-24 07:32:53] local.INFO: Test records fetched: [{"id":8,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"is_assigned":0,"workout_type":"Head supported row","member_id":2,"member_name":"Test","workoutname":"test"}]  
[2025-10-24 07:32:53] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":8,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"is_assigned":0,"workout_type":"Head supported row","member_id":2,"member_name":"Test","workoutname":"test"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-24 07:50:00] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 07:50:22] local.INFO: Incoming Warmup Request Data:  {"_token":"cptEqxmGXT04ffjNubvVuJFcCu2IZnwCpq3bvtEi","selectdatew":"24/10/25 Friday","categoryw_2":"3","namew_2":null,"warmup_id":null,"namew_1":"warmup01","categoryw_1":"4","workoutw_1":"115","repsw_1":"3","unit_1":"/10","weigthc_1":"10","male_1":null,"female_1":null} 
[2025-10-24 07:50:22] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup01","categoryw_1":"4","workoutw_1":"115","repsw_1":"3","unit_1":"/10","weigthc_1":"10","male_1":null,"female_1":null} 
[2025-10-24 07:50:22] local.INFO: Warmup entry saved with ID: 20  
[2025-10-24 07:50:22] local.INFO: Processing Warmup Group #2: {"categoryw_2":"3","namew_2":null} 
[2025-10-24 07:50:27] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 07:50:27] local.INFO: Tab value: warmup  
[2025-10-24 07:50:27] local.INFO: Tab value: conditioning  
[2025-10-24 07:50:27] local.INFO: Tab value: strength  
[2025-10-24 07:50:28] local.INFO: Tab value: test  
[2025-10-24 07:50:28] local.INFO: Tab value: weightlifting  
[2025-10-24 07:50:28] local.INFO: Tab value: test  
[2025-10-24 07:50:28] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 07:50:28] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-24 07:50:29] local.INFO: assigned weightlifting:  {"_token":"cptEqxmGXT04ffjNubvVuJFcCu2IZnwCpq3bvtEi","workout_id":"20","workout_type":"warmup","date":"24/10/25 Friday","assigned":"1","class_id":"40"} 
[2025-10-24 07:50:31] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 07:50:32] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 07:50:32] local.INFO: Received date: 24/10/25 Friday  
[2025-10-24 07:50:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-24 07:50:32] local.INFO: Strength records fetched: 0  
[2025-10-24 07:50:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-24 07:51:05] local.INFO: Received request data: {"_token":"cptEqxmGXT04ffjNubvVuJFcCu2IZnwCpq3bvtEi","selectdates":"24/10/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"three","categorys_1":"1","workouts_1":"34","unit_1":"%","weigths_1":"10","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"low"} 
[2025-10-24 07:51:05] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"three","categorys_1":"1","workouts_1":"34","unit_1":"%","weigths_1":"10","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"low"} 
[2025-10-24 07:51:05] local.INFO: Created Strength ID {"id":54} 
[2025-10-24 07:51:05] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"strength_id":54} 
[2025-10-24 07:51:05] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"strength_id":54} 
[2025-10-24 07:51:05] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-10-24 07:51:05] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '24/10/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-10-24 07:51:09] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 07:51:09] local.INFO: Tab value: warmup  
[2025-10-24 07:51:09] local.INFO: Tab value: strength  
[2025-10-24 07:51:09] local.INFO: Tab value: conditioning  
[2025-10-24 07:51:09] local.INFO: Tab value: weightlifting  
[2025-10-24 07:51:09] local.INFO: Tab value: test  
[2025-10-24 07:51:09] local.INFO: Tab value: test  
[2025-10-24 07:51:09] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-24 07:51:09] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 07:51:09] local.INFO: Received date: 24/10/25 Friday  
[2025-10-24 07:51:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":54,"category_id":1,"workout_id":34,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"24/10/25 Friday","created_at":"2025-10-24T07:51:05.000000Z","updated_at":"2025-10-24T07:51:05.000000Z","workoutname":"three","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},"setstrengthsetsreps":[{"id":118,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":54,"created_at":"2025-10-24T07:51:05.000000Z","updated_at":"2025-10-24T07:51:05.000000Z"},{"id":119,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":54,"created_at":"2025-10-24T07:51:05.000000Z","updated_at":"2025-10-24T07:51:05.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-24 07:51:09] local.INFO: Strength records fetched: 1  
[2025-10-24 07:51:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":54,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"three","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"24/10/25 Friday","sets":[{"id":118,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":54,"created_at":"2025-10-24T07:51:05.000000Z","updated_at":"2025-10-24T07:51:05.000000Z"},{"id":119,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":54,"created_at":"2025-10-24T07:51:05.000000Z","updated_at":"2025-10-24T07:51:05.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-24 07:51:10] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-24 07:51:13] local.INFO: assigned weightlifting:  {"_token":"cptEqxmGXT04ffjNubvVuJFcCu2IZnwCpq3bvtEi","workout_id":"54","workout_type":"strength","date":"24/10/25 Friday","assigned":"1","class_id":"40"} 
[2025-10-24 07:51:17] local.INFO: Day received: {"day":"24/10/25 Friday"} 
[2025-10-28 06:42:24] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:42:25] local.INFO: Tab value: strength  
[2025-10-28 06:42:25] local.INFO: Tab value: warmup  
[2025-10-28 06:42:25] local.INFO: Tab value: conditioning  
[2025-10-28 06:42:25] local.INFO: Tab value: weightlifting  
[2025-10-28 06:42:25] local.INFO: Tab value: test  
[2025-10-28 06:42:25] local.INFO: Tab value: test  
[2025-10-28 06:42:25] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:42:25] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-28 06:42:45] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:42:45] local.INFO: Tab value: warmup  
[2025-10-28 06:42:45] local.INFO: Tab value: conditioning  
[2025-10-28 06:42:45] local.INFO: Tab value: strength  
[2025-10-28 06:42:45] local.INFO: Tab value: test  
[2025-10-28 06:42:45] local.INFO: Tab value: weightlifting  
[2025-10-28 06:42:45] local.INFO: Tab value: test  
[2025-10-28 06:42:45] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-28 06:42:46] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:42:52] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:42:53] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:43:07] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:43:07] local.INFO: Tab value: warmup  
[2025-10-28 06:43:08] local.INFO: Tab value: conditioning  
[2025-10-28 06:43:08] local.INFO: Tab value: strength  
[2025-10-28 06:43:08] local.INFO: Tab value: weightlifting  
[2025-10-28 06:43:08] local.INFO: Tab value: test  
[2025-10-28 06:43:08] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-28 06:43:08] local.INFO: Tab value: test  
[2025-10-28 06:43:08] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:43:22] local.INFO: Incoming Warmup Request Data:  {"_token":"9UXAWbsq4tPXlnXzHH1C9zAcG8vjf6pPgqRCbkOY","selectdatew":"28/10/25 Tuesday","categoryw_2":"3","namew_2":null,"warmup_id":null,"namew_1":"warmup01","categoryw_1":"4","workoutw_1":"114","repsw_1":"3","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-10-28 06:43:22] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup01","categoryw_1":"4","workoutw_1":"114","repsw_1":"3","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-10-28 06:43:22] local.INFO: Warmup entry saved with ID: 21  
[2025-10-28 06:43:22] local.INFO: Processing Warmup Group #2: {"categoryw_2":"3","namew_2":null} 
[2025-10-28 06:43:26] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:43:27] local.INFO: Tab value: warmup  
[2025-10-28 06:43:27] local.INFO: Tab value: strength  
[2025-10-28 06:43:27] local.INFO: Tab value: conditioning  
[2025-10-28 06:43:27] local.INFO: Tab value: weightlifting  
[2025-10-28 06:43:27] local.INFO: Tab value: test  
[2025-10-28 06:43:27] local.INFO: Tab value: test  
[2025-10-28 06:43:27] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-28 06:43:27] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:43:30] local.INFO: assigned weightlifting:  {"_token":"9UXAWbsq4tPXlnXzHH1C9zAcG8vjf6pPgqRCbkOY","workout_id":"21","workout_type":"warmup","date":"28/10/25 Tuesday","assigned":"1","class_id":"41"} 
[2025-10-28 06:43:31] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:43:32] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 06:43:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-28 06:43:33] local.INFO: Strength records fetched: 0  
[2025-10-28 06:43:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-28 06:43:33] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:44:04] local.INFO: Received request data: {"_token":"9UXAWbsq4tPXlnXzHH1C9zAcG8vjf6pPgqRCbkOY","selectdates":"28/10/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"1","workouts_1":"33","unit_1":"%","weigths_1":"10","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-28 06:44:04] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"33","unit_1":"%","weigths_1":"10","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-28 06:44:04] local.INFO: Created Strength ID {"id":55} 
[2025-10-28 06:44:04] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":55} 
[2025-10-28 06:44:04] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":55} 
[2025-10-28 06:44:04] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-10-28 06:44:04] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '28/10/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-10-28 06:44:05] local.INFO: Received request data: {"_token":"9UXAWbsq4tPXlnXzHH1C9zAcG8vjf6pPgqRCbkOY","selectdates":"28/10/25 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"1","workouts_1":"33","unit_1":"%","weigths_1":"10","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-28 06:44:05] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"33","unit_1":"%","weigths_1":"10","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-28 06:44:05] local.INFO: Created Strength ID {"id":56} 
[2025-10-28 06:44:05] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":56} 
[2025-10-28 06:44:05] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":56} 
[2025-10-28 06:44:05] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-10-28 06:44:05] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '28/10/25 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-10-28 06:44:09] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:44:09] local.INFO: Tab value: warmup  
[2025-10-28 06:44:09] local.INFO: Tab value: strength  
[2025-10-28 06:44:10] local.INFO: Tab value: conditioning  
[2025-10-28 06:44:10] local.INFO: Tab value: test  
[2025-10-28 06:44:10] local.INFO: Tab value: weightlifting  
[2025-10-28 06:44:10] local.INFO: Tab value: test  
[2025-10-28 06:44:10] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-28 06:44:10] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:44:10] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 06:44:10] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 06:44:10] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":55,"category_id":1,"workout_id":33,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"28/10/25 Tuesday","created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":120,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"},{"id":121,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"}],"alt_category":null,"alt_workout":null},{"id":56,"category_id":1,"workout_id":33,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"28/10/25 Tuesday","created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":122,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"},{"id":123,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-28 06:44:10] local.INFO: Strength records fetched: 2  
[2025-10-28 06:44:10] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":55,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":[{"id":120,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"},{"id":121,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"}]},{"id":56,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":[{"id":122,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"},{"id":123,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-28 06:44:18] local.INFO: assigned weightlifting:  {"_token":"9UXAWbsq4tPXlnXzHH1C9zAcG8vjf6pPgqRCbkOY","workout_id":"55","workout_type":"strength","date":"28/10/25 Tuesday","assigned":"1","class_id":"43"} 
[2025-10-28 06:44:19] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 07:42:06] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 07:42:06] local.INFO: return Weightlifting Request Data:   
[2025-10-28 07:42:34] local.INFO: Incoming Weightlifting Request Data:  {"_token":"9UXAWbsq4tPXlnXzHH1C9zAcG8vjf6pPgqRCbkOY","selectdatewe":"28/10/25 Tuesday","categorywe_2":"4","namewe_2":null,"weightlifting_id":null,"namewe_1":"weight","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"20","setwid_1":null,"setswe_1":"1","repswe_1":"2","setswe_12":"2","repswe_12":"4","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"extreme"} 
[2025-10-28 07:42:34] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"weight","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"20","setwid_1":null,"setswe_1":"1","repswe_1":"2","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"extreme"} 
[2025-10-28 07:42:34] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"weight","weigth":"20","unit":"%","restred":"00:00:15","restgreen":"00:00:15","restyellow":"00:00:15","intensity":"extreme","date":"28/10/25 Tuesday"} 
[2025-10-28 07:42:34] local.INFO: Created Weightlifting ID {"id":11} 
[2025-10-28 07:42:34] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"weightlifting_id":11} 
[2025-10-28 07:42:34] local.INFO: Saving WeightliftingSet row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"weightlifting_id":11} 
[2025-10-28 07:42:36] local.INFO: return Weightlifting Request Data:  [{"id":11,"category_id":5,"category_name":"Hinge","workoutname":"weight","workout_id":117,"workout_type":"Seal row","weight":20.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"extreme","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":16,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":11,"created_at":"2025-10-28T07:42:34.000000Z","updated_at":"2025-10-28T07:42:34.000000Z"},{"id":17,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":11,"created_at":"2025-10-28T07:42:34.000000Z","updated_at":"2025-10-28T07:42:34.000000Z"}]}}] 
[2025-10-28 07:42:37] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 07:42:44] local.INFO: assigned weightlifting:  {"_token":"9UXAWbsq4tPXlnXzHH1C9zAcG8vjf6pPgqRCbkOY","class_id":"43","workout_id":"11","workout_type":"weightlifting","date":"28/10/25 Tuesday","assigned":"1"} 
[2025-10-28 07:42:45] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 07:42:49] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 07:43:40] local.INFO: Incoming Conditioning Request Data:  {"_token":"9UXAWbsq4tPXlnXzHH1C9zAcG8vjf6pPgqRCbkOY","selectdatec":"28/10/25 Tuesday","rounds":null,"conditioning_id":null,"namec_1":"ccc01","timeTC_1":"03:35","rounds_1":null,"pyramidCheckboxCon":"on","pyramidSet_1":"1","reps_1":"2","unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"pyramidSet_12":"2","reps_12":"2","unit_12":"/10","weigthPy_12":"3","pyramidmale_12":null,"pyramidfemale_12":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"2","weigthc_1":"2","male_1":null,"female_1":null} 
[2025-10-28 07:43:40] local.INFO: Processed Conditioning Data: {"namec_1":"ccc01","timeTC_1":"03:35","rounds_1":null,"pyramidSet_1":"1","reps_1":"2","unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"pyramidSet_12":"2","reps_12":"2","unit_12":"/10","weigthPy_12":"3","pyramidmale_12":null,"pyramidfemale_12":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"2","weigthc_1":"2","male_1":null,"female_1":null} 
[2025-10-28 07:43:40] local.INFO: Created Conditioning ID {"id":16} 
[2025-10-28 07:43:40] local.INFO: Saving PyramidSet row: {"sets":null,"reps":"2","unit":"/10","pyramidweight":"5","pyramidmale":null,"pyramidfemale":null,"conditioning_id":16} 
[2025-10-28 07:43:42] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 07:43:47] local.INFO: assigned weightlifting:  {"_token":"9UXAWbsq4tPXlnXzHH1C9zAcG8vjf6pPgqRCbkOY","workout_id":"16","workout_type":"conditioning","date":"28/10/25 Tuesday","assigned":"1","class_id":"41"} 
[2025-10-28 07:43:48] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 07:43:49] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 07:43:49] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 07:43:50] local.INFO: Test records fetched: 0  
[2025-10-28 07:43:50] local.INFO: Test records fetched: []  
[2025-10-28 07:43:50] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-28 07:43:57] local.INFO: Test Request Data dd: {"request":{"_token":"9UXAWbsq4tPXlnXzHH1C9zAcG8vjf6pPgqRCbkOY","selectdatet":"28/10/25 Tuesday","test_id":null,"namet_1":"two","test-category_1":"9","test-workout_1":"118","test-member_1":"2"}} 
[2025-10-28 07:43:59] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 07:43:59] local.INFO: Test records fetched: 1  
[2025-10-28 07:43:59] local.INFO: Test records fetched: [{"id":9,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"two"}]  
[2025-10-28 07:43:59] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":9,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"two"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-28 07:43:59] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 07:44:11] local.INFO: Test Request Data dd: {"request":{"_token":"9UXAWbsq4tPXlnXzHH1C9zAcG8vjf6pPgqRCbkOY","selectdatet":"28/10/25 Tuesday","test_id":null,"namet_1":"test01","test-category_1":"9","test-workout_1":"118","test-member_1":"1"}} 
[2025-10-28 07:44:12] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 07:44:12] local.INFO: Test records fetched: 2  
[2025-10-28 07:44:12] local.INFO: Test records fetched: [{"id":9,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"two"},{"id":10,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":1,"member_name":"James","workoutname":"test01"}]  
[2025-10-28 07:44:12] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":9,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"two"},{"id":10,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":1,"member_name":"James","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-28 07:44:13] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:25:44] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:25:44] local.INFO: Tab value: strength  
[2025-10-28 11:25:44] local.INFO: Tab value: warmup  
[2025-10-28 11:25:44] local.INFO: Tab value: conditioning  
[2025-10-28 11:25:44] local.INFO: Tab value: test  
[2025-10-28 11:25:44] local.INFO: Tab value: weightlifting  
[2025-10-28 11:25:44] local.INFO: Tab value: test  
[2025-10-28 11:25:44] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-28 11:25:44] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:26:00] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 11:26:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":55,"category_id":1,"workout_id":33,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"28/10/25 Tuesday","created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:18.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":120,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"},{"id":121,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"}],"alt_category":null,"alt_workout":null},{"id":56,"category_id":1,"workout_id":33,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"28/10/25 Tuesday","created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":122,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"},{"id":123,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-28 11:26:00] local.INFO: Strength records fetched: 2  
[2025-10-28 11:26:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":55,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":[{"id":120,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"},{"id":121,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"}]},{"id":56,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":[{"id":122,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"},{"id":123,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-28 11:26:00] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:26:01] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:26:01] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:26:01] local.INFO: return Weightlifting Request Data:  [{"id":11,"category_id":5,"category_name":"Hinge","workoutname":"weight","workout_id":117,"workout_type":"Seal row","weight":20.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"extreme","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":16,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":11,"created_at":"2025-10-28T07:42:34.000000Z","updated_at":"2025-10-28T07:42:34.000000Z"},{"id":17,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":11,"created_at":"2025-10-28T07:42:34.000000Z","updated_at":"2025-10-28T07:42:34.000000Z"}]}}] 
[2025-10-28 11:26:02] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:26:02] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 11:26:02] local.INFO: Test records fetched: 2  
[2025-10-28 11:26:02] local.INFO: Test records fetched: [{"id":9,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"two"},{"id":10,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":1,"member_name":"James","workoutname":"test01"}]  
[2025-10-28 11:26:02] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":9,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"two"},{"id":10,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":1,"member_name":"James","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-28 11:26:02] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:26:04] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:26:05] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:26:05] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 11:26:05] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":55,"category_id":1,"workout_id":33,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"28/10/25 Tuesday","created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:18.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":120,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"},{"id":121,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"}],"alt_category":null,"alt_workout":null},{"id":56,"category_id":1,"workout_id":33,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"28/10/25 Tuesday","created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":122,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"},{"id":123,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-28 11:26:05] local.INFO: Strength records fetched: 2  
[2025-10-28 11:26:05] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":55,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":[{"id":120,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"},{"id":121,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"}]},{"id":56,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":[{"id":122,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"},{"id":123,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-28 11:26:06] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:26:06] local.INFO: return Weightlifting Request Data:  [{"id":11,"category_id":5,"category_name":"Hinge","workoutname":"weight","workout_id":117,"workout_type":"Seal row","weight":20.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"extreme","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":16,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":11,"created_at":"2025-10-28T07:42:34.000000Z","updated_at":"2025-10-28T07:42:34.000000Z"},{"id":17,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":11,"created_at":"2025-10-28T07:42:34.000000Z","updated_at":"2025-10-28T07:42:34.000000Z"}]}}] 
[2025-10-28 11:26:07] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:26:08] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 11:26:08] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:26:08] local.INFO: Test records fetched: 2  
[2025-10-28 11:26:08] local.INFO: Test records fetched: [{"id":9,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"two"},{"id":10,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":1,"member_name":"James","workoutname":"test01"}]  
[2025-10-28 11:26:08] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":9,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"two"},{"id":10,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":1,"member_name":"James","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-28 11:26:33] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:26:34] local.INFO: Tab value: warmup  
[2025-10-28 11:26:34] local.INFO: Tab value: strength  
[2025-10-28 11:26:34] local.INFO: Tab value: conditioning  
[2025-10-28 11:26:34] local.INFO: Tab value: test  
[2025-10-28 11:26:34] local.INFO: Tab value: weightlifting  
[2025-10-28 11:26:34] local.INFO: Tab value: test  
[2025-10-28 11:26:34] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-28 11:26:34] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:27:40] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 11:27:40] local.INFO: Test records fetched: 2  
[2025-10-28 11:27:40] local.INFO: Test records fetched: [{"id":9,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"two"},{"id":10,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":1,"member_name":"James","workoutname":"test01"}]  
[2025-10-28 11:27:41] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":9,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"two"},{"id":10,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":1,"member_name":"James","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-28 11:27:41] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:37:48] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:37:48] local.INFO: Tab value: warmup  
[2025-10-28 11:37:48] local.INFO: Tab value: conditioning  
[2025-10-28 11:37:48] local.INFO: Tab value: strength  
[2025-10-28 11:37:48] local.INFO: Tab value: weightlifting  
[2025-10-28 11:37:48] local.INFO: Tab value: test  
[2025-10-28 11:37:48] local.INFO: Tab value: test  
[2025-10-28 11:37:48] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-28 11:37:48] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:37:49] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 11:37:49] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":55,"category_id":1,"workout_id":33,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"28/10/25 Tuesday","created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:18.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":120,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"},{"id":121,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"}],"alt_category":null,"alt_workout":null},{"id":56,"category_id":1,"workout_id":33,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"28/10/25 Tuesday","created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":122,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"},{"id":123,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-28 11:37:49] local.INFO: Strength records fetched: 2  
[2025-10-28 11:37:49] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":55,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":[{"id":120,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"},{"id":121,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"}]},{"id":56,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":[{"id":122,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"},{"id":123,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-28 11:37:49] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:38:03] local.INFO: return Weightlifting Request Data:  [{"id":11,"category_id":5,"category_name":"Hinge","workoutname":"weight","workout_id":117,"workout_type":"Seal row","weight":20.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"extreme","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":16,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":11,"created_at":"2025-10-28T07:42:34.000000Z","updated_at":"2025-10-28T07:42:34.000000Z"},{"id":17,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":11,"created_at":"2025-10-28T07:42:34.000000Z","updated_at":"2025-10-28T07:42:34.000000Z"}]}}] 
[2025-10-28 11:38:03] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:38:10] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 11:38:10] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":55,"category_id":1,"workout_id":33,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"28/10/25 Tuesday","created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:18.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":120,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"},{"id":121,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"}],"alt_category":null,"alt_workout":null},{"id":56,"category_id":1,"workout_id":33,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"28/10/25 Tuesday","created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":122,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"},{"id":123,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-28 11:38:10] local.INFO: Strength records fetched: 2  
[2025-10-28 11:38:10] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":55,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":[{"id":120,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"},{"id":121,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"}]},{"id":56,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":[{"id":122,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"},{"id":123,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-28 11:38:10] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:40:36] local.INFO: return Weightlifting Request Data:  [{"id":11,"category_id":5,"category_name":"Hinge","workoutname":"weight","workout_id":117,"workout_type":"Seal row","weight":20.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"extreme","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":16,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":11,"created_at":"2025-10-28T07:42:34.000000Z","updated_at":"2025-10-28T07:42:34.000000Z"},{"id":17,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":11,"created_at":"2025-10-28T07:42:34.000000Z","updated_at":"2025-10-28T07:42:34.000000Z"}]}}] 
[2025-10-28 11:40:37] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:40:38] local.INFO: Day received: {"day":"28/10/25 Tuesday"} 
[2025-10-28 11:40:38] local.INFO: Received date: 28/10/25 Tuesday  
[2025-10-28 11:40:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":55,"category_id":1,"workout_id":33,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"28/10/25 Tuesday","created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:18.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":120,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"},{"id":121,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"}],"alt_category":null,"alt_workout":null},{"id":56,"category_id":1,"workout_id":33,"weight":10.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"28/10/25 Tuesday","created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":122,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"},{"id":123,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-28 11:40:38] local.INFO: Strength records fetched: 2  
[2025-10-28 11:40:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":55,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":[{"id":120,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"},{"id":121,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":55,"created_at":"2025-10-28T06:44:04.000000Z","updated_at":"2025-10-28T06:44:04.000000Z"}]},{"id":56,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":10.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"28/10/25 Tuesday","sets":[{"id":122,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"},{"id":123,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":56,"created_at":"2025-10-28T06:44:05.000000Z","updated_at":"2025-10-28T06:44:05.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-29 03:45:50] local.INFO: Day received: {"day":"29/10/25 Wednesday"} 
[2025-10-29 03:45:50] local.INFO: Tab value: warmup  
[2025-10-29 03:45:50] local.INFO: Tab value: strength  
[2025-10-29 03:45:50] local.INFO: Tab value: test  
[2025-10-29 03:45:50] local.INFO: Tab value: conditioning  
[2025-10-29 03:45:50] local.INFO: Tab value: weightlifting  
[2025-10-29 03:45:50] local.INFO: Tab value: test  
[2025-10-29 03:45:50] local.INFO: Received date: 29/10/25 Wednesday  
[2025-10-29 03:45:50] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-29 03:45:50] local.INFO: Test records fetched: 0  
[2025-10-29 03:45:50] local.INFO: Test records fetched: []  
[2025-10-29 03:45:50] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-29 03:45:50] local.INFO: Day received: {"day":"29/10/25 Wednesday"} 
[2025-10-29 03:45:51] local.INFO: Day received: {"day":"29/10/25 Wednesday"} 
[2025-10-29 03:46:38] local.INFO: Test Request Data dd: {"request":{"_token":"jPh6lCx6jijR0D9vZSA6gTBfdH7bBPp0Hx8CHgfv","selectdatet":"29/10/25 Wednesday","test_id":null,"namet_1":"test01","test-category_1":"9","test-workout_1":"118","test-member_1":"2"}} 
[2025-10-29 03:46:40] local.INFO: Received date: 29/10/25 Wednesday  
[2025-10-29 03:46:40] local.INFO: Test records fetched: 1  
[2025-10-29 03:46:40] local.INFO: Test records fetched: [{"id":11,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]  
[2025-10-29 03:46:40] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":11,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-29 03:46:40] local.INFO: Day received: {"day":"29/10/25 Wednesday"} 
[2025-10-29 03:46:42] local.INFO: Day received: {"day":"29/10/25 Wednesday"} 
[2025-10-29 03:46:42] local.INFO: Received date: 29/10/25 Wednesday  
[2025-10-29 03:46:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-29 03:46:42] local.INFO: Strength records fetched: 0  
[2025-10-29 03:46:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-29 03:46:44] local.INFO: Day received: {"day":"29/10/25 Wednesday"} 
[2025-10-29 03:46:44] local.INFO: Received date: 29/10/25 Wednesday  
[2025-10-29 03:46:44] local.INFO: Test records fetched: 1  
[2025-10-29 03:46:44] local.INFO: Test records fetched: [{"id":11,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]  
[2025-10-29 03:46:44] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":11,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-29 03:46:48] local.INFO: Received date: 29/10/25 Wednesday  
[2025-10-29 03:46:48] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-29 03:46:48] local.INFO: Strength records fetched: 0  
[2025-10-29 03:46:48] local.INFO: Day received: {"day":"29/10/25 Wednesday"} 
[2025-10-29 03:46:48] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-29 03:47:01] local.INFO: Received date: 29/10/25 Wednesday  
[2025-10-29 03:47:01] local.INFO: Test records fetched: 1  
[2025-10-29 03:47:01] local.INFO: Day received: {"day":"29/10/25 Wednesday"} 
[2025-10-29 03:47:01] local.INFO: Test records fetched: [{"id":11,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]  
[2025-10-29 03:47:01] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":11,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-29 03:47:08] local.INFO: Received date: 29/10/25 Wednesday  
[2025-10-29 03:47:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-29 03:47:08] local.INFO: Strength records fetched: 0  
[2025-10-29 03:47:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}} 
[2025-10-29 03:47:08] local.INFO: Day received: {"day":"29/10/25 Wednesday"} 
[2025-10-30 06:23:49] local.INFO: Tab value: warmup  
[2025-10-30 06:23:49] local.INFO: Tab value: strength  
[2025-10-30 06:23:49] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 06:23:49] local.INFO: Tab value: conditioning  
[2025-10-30 06:23:49] local.INFO: Tab value: weightlifting  
[2025-10-30 06:23:49] local.INFO: Tab value: test  
[2025-10-30 06:23:49] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 06:23:49] local.INFO: Tab value: test  
[2025-10-30 06:23:49] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-30 06:23:51] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 06:23:51] local.INFO: Received date: 30/10/25 Thursday  
[2025-10-30 06:23:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-30 06:23:51] local.INFO: Strength records fetched: 0  
[2025-10-30 06:23:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-10-30 06:24:25] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 06:25:15] local.INFO: return Weightlifting Request Data:   
[2025-10-30 06:25:15] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:16:51] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:16:51] local.INFO: Tab value: warmup  
[2025-10-30 10:16:51] local.INFO: Tab value: conditioning  
[2025-10-30 10:16:51] local.INFO: Tab value: strength  
[2025-10-30 10:16:51] local.INFO: Tab value: weightlifting  
[2025-10-30 10:16:51] local.INFO: Tab value: test  
[2025-10-30 10:16:52] local.INFO: Tab value: test  
[2025-10-30 10:16:52] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:16:52] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-30 10:17:14] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:17:14] local.INFO: Tab value: warmup  
[2025-10-30 10:17:14] local.INFO: Tab value: strength  
[2025-10-30 10:17:14] local.INFO: Tab value: conditioning  
[2025-10-30 10:17:14] local.INFO: Tab value: weightlifting  
[2025-10-30 10:17:14] local.INFO: Tab value: test  
[2025-10-30 10:17:14] local.INFO: Tab value: test  
[2025-10-30 10:17:14] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:17:14] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-30 10:17:33] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:17:33] local.INFO: Tab value: warmup  
[2025-10-30 10:17:33] local.INFO: Tab value: strength  
[2025-10-30 10:17:33] local.INFO: Tab value: conditioning  
[2025-10-30 10:17:33] local.INFO: Tab value: weightlifting  
[2025-10-30 10:17:33] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-30 10:17:33] local.INFO: Tab value: test  
[2025-10-30 10:17:33] local.INFO: Tab value: test  
[2025-10-30 10:17:34] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:17:35] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:17:35] local.INFO: Received date: 30/10/25 Thursday  
[2025-10-30 10:17:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-30 10:17:35] local.INFO: Strength records fetched: 0  
[2025-10-30 10:17:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-10-30 10:17:36] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:17:36] local.INFO: Received date: 30/10/25 Thursday  
[2025-10-30 10:17:36] local.INFO: Test records fetched: 0  
[2025-10-30 10:17:36] local.INFO: Test records fetched: []  
[2025-10-30 10:17:36] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-30 10:17:45] local.INFO: Received date: 30/10/25 Thursday  
[2025-10-30 10:17:45] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-30 10:17:45] local.INFO: Strength records fetched: 0  
[2025-10-30 10:17:45] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-10-30 10:17:45] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:18:21] local.INFO: Received request data: {"_token":"LDAoFqTYkGRtJUoVtC3uiZsC66Oa71blTOSwP7yQ","selectdates":"30/10/25 Thursday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-30 10:18:21] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-30 10:18:21] local.INFO: Created Strength ID {"id":57} 
[2025-10-30 10:18:21] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":57} 
[2025-10-30 10:18:21] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":57} 
[2025-10-30 10:18:21] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-10-30 10:18:21] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/10/25 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-10-30 10:18:46] local.INFO: Received request data: {"_token":"LDAoFqTYkGRtJUoVtC3uiZsC66Oa71blTOSwP7yQ","selectdates":"30/10/25 Thursday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"50","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-30 10:18:46] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"50","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-30 10:18:46] local.INFO: Created Strength ID {"id":58} 
[2025-10-30 10:18:46] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"strength_id":58} 
[2025-10-30 10:18:46] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"strength_id":58} 
[2025-10-30 10:18:46] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":58} 
[2025-10-30 10:18:46] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-10-30 10:18:46] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/10/25 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-10-30 10:19:06] local.INFO: Received request data: {"_token":"LDAoFqTYkGRtJUoVtC3uiZsC66Oa71blTOSwP7yQ","selectdates":"30/10/25 Thursday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"6","workouts_1":"85","unit_1":"%","weigths_1":"35","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-30 10:19:06] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"6","workouts_1":"85","unit_1":"%","weigths_1":"35","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-30 10:19:06] local.INFO: Created Strength ID {"id":59} 
[2025-10-30 10:19:06] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"strength_id":59} 
[2025-10-30 10:19:06] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"strength_id":59} 
[2025-10-30 10:19:06] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-10-30 10:19:06] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '30/10/25 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-10-30 10:19:15] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:19:16] local.INFO: Tab value: warmup  
[2025-10-30 10:19:16] local.INFO: Tab value: weightlifting  
[2025-10-30 10:19:16] local.INFO: Tab value: strength  
[2025-10-30 10:19:16] local.INFO: Tab value: conditioning  
[2025-10-30 10:19:16] local.INFO: Tab value: test  
[2025-10-30 10:19:16] local.INFO: Tab value: test  
[2025-10-30 10:19:16] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-30 10:19:16] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:19:18] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:19:18] local.INFO: return Weightlifting Request Data:   
[2025-10-30 10:19:19] local.INFO: Received date: 30/10/25 Thursday  
[2025-10-30 10:19:19] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:19:19] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":57,"category_id":4,"workout_id":17,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"30/10/25 Thursday","created_at":"2025-10-30T10:18:21.000000Z","updated_at":"2025-10-30T10:18:21.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":124,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":57,"created_at":"2025-10-30T10:18:21.000000Z","updated_at":"2025-10-30T10:18:21.000000Z"},{"id":125,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":57,"created_at":"2025-10-30T10:18:21.000000Z","updated_at":"2025-10-30T10:18:21.000000Z"}],"alt_category":null,"alt_workout":null},{"id":58,"category_id":9,"workout_id":125,"weight":50.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"30/10/25 Thursday","created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":126,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":58,"created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z"},{"id":127,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":58,"created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z"},{"id":128,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":58,"created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z"}],"alt_category":null,"alt_workout":null},{"id":59,"category_id":6,"workout_id":85,"weight":35.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"30/10/25 Thursday","created_at":"2025-10-30T10:19:06.000000Z","updated_at":"2025-10-30T10:19:06.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},"setstrengthsetsreps":[{"id":129,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":59,"created_at":"2025-10-30T10:19:06.000000Z","updated_at":"2025-10-30T10:19:06.000000Z"},{"id":130,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":59,"created_at":"2025-10-30T10:19:06.000000Z","updated_at":"2025-10-30T10:19:06.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-30 10:19:19] local.INFO: Strength records fetched: 3  
[2025-10-30 10:19:19] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":57,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"30/10/25 Thursday","sets":[{"id":124,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":57,"created_at":"2025-10-30T10:18:21.000000Z","updated_at":"2025-10-30T10:18:21.000000Z"},{"id":125,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":57,"created_at":"2025-10-30T10:18:21.000000Z","updated_at":"2025-10-30T10:18:21.000000Z"}]},{"id":58,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"strength01","weight":50.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"30/10/25 Thursday","sets":[{"id":126,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":58,"created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z"},{"id":127,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":58,"created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z"},{"id":128,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":58,"created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z"}]},{"id":59,"category_id":6,"category_name":"Carry/Oly","workout_id":85,"workout_type":"KB carry (rack)","workoutname":"strength01","weight":35.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"30/10/25 Thursday","sets":[{"id":129,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":59,"created_at":"2025-10-30T10:19:06.000000Z","updated_at":"2025-10-30T10:19:06.000000Z"},{"id":130,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":59,"created_at":"2025-10-30T10:19:06.000000Z","updated_at":"2025-10-30T10:19:06.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-10-30 10:19:26] local.INFO: assigned weightlifting:  {"_token":"LDAoFqTYkGRtJUoVtC3uiZsC66Oa71blTOSwP7yQ","workout_id":"57","workout_type":"strength","date":"30/10/25 Thursday","assigned":"1","class_id":"45"} 
[2025-10-30 10:19:28] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:19:47] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:19:48] local.INFO: Tab value: warmup  
[2025-10-30 10:19:48] local.INFO: Tab value: strength  
[2025-10-30 10:19:48] local.INFO: Tab value: conditioning  
[2025-10-30 10:19:48] local.INFO: Tab value: weightlifting  
[2025-10-30 10:19:48] local.INFO: Tab value: test  
[2025-10-30 10:19:48] local.INFO: Tab value: test  
[2025-10-30 10:19:48] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-30 10:19:48] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:19:51] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:19:51] local.INFO: Received date: 30/10/25 Thursday  
[2025-10-30 10:19:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":57,"category_id":4,"workout_id":17,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"30/10/25 Thursday","created_at":"2025-10-30T10:18:21.000000Z","updated_at":"2025-10-30T10:19:26.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":124,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":57,"created_at":"2025-10-30T10:18:21.000000Z","updated_at":"2025-10-30T10:18:21.000000Z"},{"id":125,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":57,"created_at":"2025-10-30T10:18:21.000000Z","updated_at":"2025-10-30T10:18:21.000000Z"}],"alt_category":null,"alt_workout":null},{"id":58,"category_id":9,"workout_id":125,"weight":50.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"30/10/25 Thursday","created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":126,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":58,"created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z"},{"id":127,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":58,"created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z"},{"id":128,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":58,"created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z"}],"alt_category":null,"alt_workout":null},{"id":59,"category_id":6,"workout_id":85,"weight":35.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"30/10/25 Thursday","created_at":"2025-10-30T10:19:06.000000Z","updated_at":"2025-10-30T10:19:06.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},"setstrengthsetsreps":[{"id":129,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":59,"created_at":"2025-10-30T10:19:06.000000Z","updated_at":"2025-10-30T10:19:06.000000Z"},{"id":130,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":59,"created_at":"2025-10-30T10:19:06.000000Z","updated_at":"2025-10-30T10:19:06.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-30 10:19:51] local.INFO: Strength records fetched: 3  
[2025-10-30 10:19:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":57,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"30/10/25 Thursday","sets":[{"id":124,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":57,"created_at":"2025-10-30T10:18:21.000000Z","updated_at":"2025-10-30T10:18:21.000000Z"},{"id":125,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":57,"created_at":"2025-10-30T10:18:21.000000Z","updated_at":"2025-10-30T10:18:21.000000Z"}]},{"id":58,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"strength01","weight":50.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"30/10/25 Thursday","sets":[{"id":126,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":58,"created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z"},{"id":127,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":58,"created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z"},{"id":128,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":58,"created_at":"2025-10-30T10:18:46.000000Z","updated_at":"2025-10-30T10:18:46.000000Z"}]},{"id":59,"category_id":6,"category_name":"Carry/Oly","workout_id":85,"workout_type":"KB carry (rack)","workoutname":"strength01","weight":35.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"30/10/25 Thursday","sets":[{"id":129,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":59,"created_at":"2025-10-30T10:19:06.000000Z","updated_at":"2025-10-30T10:19:06.000000Z"},{"id":130,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":59,"created_at":"2025-10-30T10:19:06.000000Z","updated_at":"2025-10-30T10:19:06.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-10-30 10:19:55] local.INFO: assigned weightlifting:  {"_token":"LDAoFqTYkGRtJUoVtC3uiZsC66Oa71blTOSwP7yQ","workout_id":"58","workout_type":"strength","date":"30/10/25 Thursday","assigned":"1","class_id":"44"} 
[2025-10-30 10:19:58] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-30 10:20:01] local.INFO: assigned weightlifting:  {"_token":"LDAoFqTYkGRtJUoVtC3uiZsC66Oa71blTOSwP7yQ","workout_id":"59","workout_type":"strength","date":"30/10/25 Thursday","assigned":"1","class_id":"46"} 
[2025-10-30 10:20:03] local.INFO: Day received: {"day":"30/10/25 Thursday"} 
[2025-10-31 05:10:03] local.INFO: Tab value: warmup  
[2025-10-31 05:10:03] local.INFO: Tab value: strength  
[2025-10-31 05:10:03] local.INFO: Tab value: conditioning  
[2025-10-31 05:10:03] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:10:03] local.INFO: Tab value: test  
[2025-10-31 05:10:03] local.INFO: Tab value: weightlifting  
[2025-10-31 05:10:03] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:10:03] local.INFO: Tab value: test  
[2025-10-31 05:10:03] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-31 05:13:26] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:13:26] local.INFO: Tab value: warmup  
[2025-10-31 05:13:26] local.INFO: Tab value: conditioning  
[2025-10-31 05:13:26] local.INFO: Tab value: strength  
[2025-10-31 05:13:27] local.INFO: Tab value: test  
[2025-10-31 05:13:27] local.INFO: Tab value: weightlifting  
[2025-10-31 05:13:27] local.INFO: Tab value: test  
[2025-10-31 05:13:27] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-31 05:13:27] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:14:22] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:14:22] local.INFO: Tab value: strength  
[2025-10-31 05:14:22] local.INFO: Tab value: warmup  
[2025-10-31 05:14:22] local.INFO: Tab value: weightlifting  
[2025-10-31 05:14:22] local.INFO: Tab value: conditioning  
[2025-10-31 05:14:22] local.INFO: Tab value: test  
[2025-10-31 05:14:22] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:14:22] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-31 05:14:22] local.INFO: Tab value: test  
[2025-10-31 05:14:53] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:14:53] local.INFO: Tab value: warmup  
[2025-10-31 05:14:53] local.INFO: Tab value: strength  
[2025-10-31 05:14:53] local.INFO: Tab value: conditioning  
[2025-10-31 05:14:53] local.INFO: Tab value: test  
[2025-10-31 05:14:53] local.INFO: Tab value: weightlifting  
[2025-10-31 05:14:53] local.INFO: Tab value: test  
[2025-10-31 05:14:53] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-31 05:14:53] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:14:55] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:14:55] local.INFO: Received date: 31/10/25 Friday  
[2025-10-31 05:14:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-10-31 05:14:55] local.INFO: Strength records fetched: 0  
[2025-10-31 05:14:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-10-31 05:15:45] local.INFO: Received request data: {"_token":"7B2dk2kWKCtOr2CE0uR0J3JFCh1RoOjcMV9P5HR3","selectdates":"31/10/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"1","workouts_1":"25","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-31 05:15:45] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"25","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-31 05:15:45] local.INFO: Created Strength ID {"id":60} 
[2025-10-31 05:15:45] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":60} 
[2025-10-31 05:15:45] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"strength_id":60} 
[2025-10-31 05:15:45] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"2","alt_set":null,"alt_reps":null,"strength_id":60} 
[2025-10-31 05:15:45] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-10-31 05:15:45] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '31/10/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-10-31 05:16:03] local.INFO: Received request data: {"_token":"7B2dk2kWKCtOr2CE0uR0J3JFCh1RoOjcMV9P5HR3","selectdates":"31/10/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength02","categorys_1":"4","workouts_1":"69","unit_1":"%","weigths_1":"30","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-31 05:16:03] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength02","categorys_1":"4","workouts_1":"69","unit_1":"%","weigths_1":"30","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"4","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-10-31 05:16:03] local.INFO: Created Strength ID {"id":61} 
[2025-10-31 05:16:03] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"strength_id":61} 
[2025-10-31 05:16:03] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":61} 
[2025-10-31 05:16:03] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-10-31 05:16:03] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '31/10/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-10-31 05:16:49] local.INFO: Received request data: {"_token":"7B2dk2kWKCtOr2CE0uR0J3JFCh1RoOjcMV9P5HR3","selectdates":"31/10/25 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength03","categorys_1":"5","workouts_1":"77","unit_1":"%","weigths_1":"65","setsid_1":null,"sets_1":"1","reps_1":"3","sets_14":"4","reps_14":"4","sets_15":"5","reps_15":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"low"} 
[2025-10-31 05:16:49] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength03","categorys_1":"5","workouts_1":"77","unit_1":"%","weigths_1":"65","setsid_1":null,"sets_1":"1","reps_1":"3","sets_14":"4","reps_14":"4","sets_15":"5","reps_15":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"low"} 
[2025-10-31 05:16:49] local.INFO: Created Strength ID {"id":62} 
[2025-10-31 05:16:49] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"strength_id":62} 
[2025-10-31 05:16:49] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"4","alt_set":null,"alt_reps":null,"strength_id":62} 
[2025-10-31 05:16:49] local.INFO: Saving StrengthSetRep row {"sets":"5","reps":"2","alt_set":null,"alt_reps":null,"strength_id":62} 
[2025-10-31 05:16:49] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-10-31 05:16:49] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '31/10/25 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-10-31 05:16:53] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:16:53] local.INFO: Tab value: warmup  
[2025-10-31 05:16:53] local.INFO: Tab value: strength  
[2025-10-31 05:16:53] local.INFO: Tab value: conditioning  
[2025-10-31 05:16:54] local.INFO: Tab value: weightlifting  
[2025-10-31 05:16:54] local.INFO: Tab value: test  
[2025-10-31 05:16:54] local.INFO: Tab value: test  
[2025-10-31 05:16:54] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-31 05:16:54] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:16:55] local.INFO: Received date: 31/10/25 Friday  
[2025-10-31 05:16:55] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:16:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":60,"category_id":1,"workout_id":25,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"31/10/25 Friday","created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},"setstrengthsetsreps":[{"id":131,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":132,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":133,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"}],"alt_category":null,"alt_workout":null},{"id":61,"category_id":4,"workout_id":69,"weight":30.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"31/10/25 Friday","created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z","workoutname":"strength02","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":134,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"},{"id":135,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"}],"alt_category":null,"alt_workout":null},{"id":62,"category_id":5,"workout_id":77,"weight":65.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"31/10/25 Friday","created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z","workoutname":"strength03","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":136,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":137,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":138,"sets":5,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-31 05:16:55] local.INFO: Strength records fetched: 3  
[2025-10-31 05:16:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":60,"category_id":1,"category_name":"Horizontal pull","workout_id":25,"workout_type":"DB row","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"31/10/25 Friday","sets":[{"id":131,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":132,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":133,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"}]},{"id":61,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"strength02","weight":30.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"31/10/25 Friday","sets":[{"id":134,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"},{"id":135,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"}]},{"id":62,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"strength03","weight":65.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"31/10/25 Friday","sets":[{"id":136,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":137,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":138,"sets":5,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-10-31 05:16:59] local.INFO: assigned weightlifting:  {"_token":"7B2dk2kWKCtOr2CE0uR0J3JFCh1RoOjcMV9P5HR3","workout_id":"60","workout_type":"strength","date":"31/10/25 Friday","assigned":"1","class_id":"47"} 
[2025-10-31 05:17:05] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:17:08] local.INFO: assigned weightlifting:  {"_token":"7B2dk2kWKCtOr2CE0uR0J3JFCh1RoOjcMV9P5HR3","workout_id":"61","workout_type":"strength","date":"31/10/25 Friday","assigned":"1","class_id":"49"} 
[2025-10-31 05:17:09] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 05:17:16] local.INFO: assigned weightlifting:  {"_token":"7B2dk2kWKCtOr2CE0uR0J3JFCh1RoOjcMV9P5HR3","workout_id":"62","workout_type":"strength","date":"31/10/25 Friday","assigned":"1","class_id":"48"} 
[2025-10-31 05:17:17] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 09:37:54] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 09:37:54] local.INFO: Tab value: warmup  
[2025-10-31 09:37:55] local.INFO: Tab value: weightlifting  
[2025-10-31 09:37:55] local.INFO: Tab value: strength  
[2025-10-31 09:37:55] local.INFO: Tab value: conditioning  
[2025-10-31 09:37:55] local.INFO: Tab value: test  
[2025-10-31 09:37:55] local.INFO: Tab value: test  
[2025-10-31 09:37:55] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-10-31 09:37:55] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 09:37:55] local.INFO: Received date: 31/10/25 Friday  
[2025-10-31 09:37:55] local.INFO: Test records fetched: 0  
[2025-10-31 09:37:55] local.INFO: Test records fetched: []  
[2025-10-31 09:37:55] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-31 09:37:55] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 09:38:30] local.INFO: Test Request Data dd: {"request":{"_token":"ZMp7o1rT2CGtRSkHUypQHM0I2Pfywf1vCr2SC5Jc","selectdatet":"31/10/25 Friday","test_id":null,"namet_1":"test01","test-category_1":"1","test-workout_1":"25","test-member_1":"2"}} 
[2025-10-31 09:38:32] local.INFO: Received date: 31/10/25 Friday  
[2025-10-31 09:38:32] local.INFO: Test records fetched: 1  
[2025-10-31 09:38:32] local.INFO: Test records fetched: [{"id":12,"category_id":1,"category_name":"Horizontal pull","workout_id":25,"is_assigned":0,"workout_type":"DB row","member_id":2,"member_name":"Test","workoutname":"test01"}]  
[2025-10-31 09:38:32] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":12,"category_id":1,"category_name":"Horizontal pull","workout_id":25,"is_assigned":0,"workout_type":"DB row","member_id":2,"member_name":"Test","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-31 09:38:32] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 09:38:41] local.INFO: Received date: 31/10/25 Friday  
[2025-10-31 09:38:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":60,"category_id":1,"workout_id":25,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"31/10/25 Friday","created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:16:59.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},"setstrengthsetsreps":[{"id":131,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":132,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":133,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"}],"alt_category":null,"alt_workout":null},{"id":61,"category_id":4,"workout_id":69,"weight":30.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"31/10/25 Friday","created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:17:08.000000Z","workoutname":"strength02","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":134,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"},{"id":135,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"}],"alt_category":null,"alt_workout":null},{"id":62,"category_id":5,"workout_id":77,"weight":65.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"31/10/25 Friday","created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:17:16.000000Z","workoutname":"strength03","is_assigned":1,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":136,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":137,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":138,"sets":5,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-31 09:38:41] local.INFO: Strength records fetched: 3  
[2025-10-31 09:38:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":60,"category_id":1,"category_name":"Horizontal pull","workout_id":25,"workout_type":"DB row","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"31/10/25 Friday","sets":[{"id":131,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":132,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":133,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"}]},{"id":61,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"strength02","weight":30.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"31/10/25 Friday","sets":[{"id":134,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"},{"id":135,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"}]},{"id":62,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"strength03","weight":65.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"31/10/25 Friday","sets":[{"id":136,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":137,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":138,"sets":5,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-10-31 09:38:41] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 09:38:48] local.INFO: Received date: 31/10/25 Friday  
[2025-10-31 09:38:48] local.INFO: Test records fetched: 1  
[2025-10-31 09:38:48] local.INFO: Test records fetched: [{"id":12,"category_id":1,"category_name":"Horizontal pull","workout_id":25,"is_assigned":0,"workout_type":"DB row","member_id":2,"member_name":"Test","workoutname":"test01"}]  
[2025-10-31 09:38:48] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":12,"category_id":1,"category_name":"Horizontal pull","workout_id":25,"is_assigned":0,"workout_type":"DB row","member_id":2,"member_name":"Test","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-31 09:38:49] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 09:39:13] local.INFO: Test Request Data dd: {"request":{"_token":"ZMp7o1rT2CGtRSkHUypQHM0I2Pfywf1vCr2SC5Jc","selectdatet":"31/10/25 Friday","test_id":null,"namet_1":"test02","test-category_1":"4","test-workout_1":"69","test-member_1":"2"}} 
[2025-10-31 09:39:14] local.INFO: Received date: 31/10/25 Friday  
[2025-10-31 09:39:14] local.INFO: Test records fetched: 2  
[2025-10-31 09:39:14] local.INFO: Test records fetched: [{"id":12,"category_id":1,"category_name":"Horizontal pull","workout_id":25,"is_assigned":0,"workout_type":"DB row","member_id":2,"member_name":"Test","workoutname":"test01"},{"id":13,"category_id":4,"category_name":"Squat","workout_id":69,"is_assigned":0,"workout_type":"Cyclist squat","member_id":2,"member_name":"Test","workoutname":"test02"}]  
[2025-10-31 09:39:14] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":12,"category_id":1,"category_name":"Horizontal pull","workout_id":25,"is_assigned":0,"workout_type":"DB row","member_id":2,"member_name":"Test","workoutname":"test01"},{"id":13,"category_id":4,"category_name":"Squat","workout_id":69,"is_assigned":0,"workout_type":"Cyclist squat","member_id":2,"member_name":"Test","workoutname":"test02"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-31 09:39:14] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 09:39:46] local.INFO: Test Request Data dd: {"request":{"_token":"ZMp7o1rT2CGtRSkHUypQHM0I2Pfywf1vCr2SC5Jc","selectdatet":"31/10/25 Friday","test_id":null,"namet_1":"test03","test-category_1":"5","test-workout_1":"77","test-member_1":"2"}} 
[2025-10-31 09:39:47] local.INFO: Received date: 31/10/25 Friday  
[2025-10-31 09:39:47] local.INFO: Test records fetched: 3  
[2025-10-31 09:39:47] local.INFO: Test records fetched: [{"id":12,"category_id":1,"category_name":"Horizontal pull","workout_id":25,"is_assigned":0,"workout_type":"DB row","member_id":2,"member_name":"Test","workoutname":"test01"},{"id":13,"category_id":4,"category_name":"Squat","workout_id":69,"is_assigned":0,"workout_type":"Cyclist squat","member_id":2,"member_name":"Test","workoutname":"test02"},{"id":14,"category_id":5,"category_name":"Hinge","workout_id":77,"is_assigned":0,"workout_type":"Hip thrust","member_id":2,"member_name":"Test","workoutname":"test03"}]  
[2025-10-31 09:39:47] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":12,"category_id":1,"category_name":"Horizontal pull","workout_id":25,"is_assigned":0,"workout_type":"DB row","member_id":2,"member_name":"Test","workoutname":"test01"},{"id":13,"category_id":4,"category_name":"Squat","workout_id":69,"is_assigned":0,"workout_type":"Cyclist squat","member_id":2,"member_name":"Test","workoutname":"test02"},{"id":14,"category_id":5,"category_name":"Hinge","workout_id":77,"is_assigned":0,"workout_type":"Hip thrust","member_id":2,"member_name":"Test","workoutname":"test03"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-10-31 09:39:48] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 10:17:57] local.INFO: Received date: 31/10/25 Friday  
[2025-10-31 10:17:57] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-10-31 10:17:57] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":60,"category_id":1,"workout_id":25,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"31/10/25 Friday","created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:16:59.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},"setstrengthsetsreps":[{"id":131,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":132,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":133,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"}],"alt_category":null,"alt_workout":null},{"id":61,"category_id":4,"workout_id":69,"weight":30.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"31/10/25 Friday","created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:17:08.000000Z","workoutname":"strength02","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":134,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"},{"id":135,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"}],"alt_category":null,"alt_workout":null},{"id":62,"category_id":5,"workout_id":77,"weight":65.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"31/10/25 Friday","created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:17:16.000000Z","workoutname":"strength03","is_assigned":1,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":136,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":137,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":138,"sets":5,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-10-31 10:17:57] local.INFO: Strength records fetched: 3  
[2025-10-31 10:17:57] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":60,"category_id":1,"category_name":"Horizontal pull","workout_id":25,"workout_type":"DB row","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"31/10/25 Friday","sets":[{"id":131,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":132,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":133,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"}]},{"id":61,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"strength02","weight":30.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"31/10/25 Friday","sets":[{"id":134,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"},{"id":135,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"}]},{"id":62,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"strength03","weight":65.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"31/10/25 Friday","sets":[{"id":136,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":137,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":138,"sets":5,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-03 05:02:51] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:02:51] local.INFO: Tab value: strength  
[2025-11-03 05:02:51] local.INFO: Tab value: warmup  
[2025-11-03 05:02:51] local.INFO: Tab value: conditioning  
[2025-11-03 05:02:51] local.INFO: Tab value: weightlifting  
[2025-11-03 05:02:51] local.INFO: Tab value: test  
[2025-11-03 05:02:51] local.INFO: Tab value: test  
[2025-11-03 05:02:51] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:02:51] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-03 05:02:56] local.INFO: Day received: {"day":"27/10/25 Monday"} 
[2025-11-03 05:02:58] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-11-03 05:03:02] local.INFO: Day received: {"day":"31/10/25 Friday"} 
[2025-11-03 05:03:02] local.INFO: Received date: 31/10/25 Friday  
[2025-11-03 05:03:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":60,"category_id":1,"workout_id":25,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"31/10/25 Friday","created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:16:59.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},"setstrengthsetsreps":[{"id":131,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":132,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":133,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"}],"alt_category":null,"alt_workout":null},{"id":61,"category_id":4,"workout_id":69,"weight":30.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"31/10/25 Friday","created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:17:08.000000Z","workoutname":"strength02","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":134,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"},{"id":135,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"}],"alt_category":null,"alt_workout":null},{"id":62,"category_id":5,"workout_id":77,"weight":65.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"31/10/25 Friday","created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:17:16.000000Z","workoutname":"strength03","is_assigned":1,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":136,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":137,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":138,"sets":5,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-03 05:03:02] local.INFO: Strength records fetched: 3  
[2025-11-03 05:03:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":60,"category_id":1,"category_name":"Horizontal pull","workout_id":25,"workout_type":"DB row","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"31/10/25 Friday","sets":[{"id":131,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":132,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"},{"id":133,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":60,"created_at":"2025-10-31T05:15:45.000000Z","updated_at":"2025-10-31T05:15:45.000000Z"}]},{"id":61,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"strength02","weight":30.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"31/10/25 Friday","sets":[{"id":134,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"},{"id":135,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":61,"created_at":"2025-10-31T05:16:03.000000Z","updated_at":"2025-10-31T05:16:03.000000Z"}]},{"id":62,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"strength03","weight":65.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"low","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"31/10/25 Friday","sets":[{"id":136,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":137,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"},{"id":138,"sets":5,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":62,"created_at":"2025-10-31T05:16:49.000000Z","updated_at":"2025-10-31T05:16:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-03 05:28:00] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:28:00] local.INFO: Tab value: warmup  
[2025-11-03 05:28:01] local.INFO: Tab value: strength  
[2025-11-03 05:28:01] local.INFO: Tab value: conditioning  
[2025-11-03 05:28:01] local.INFO: Tab value: weightlifting  
[2025-11-03 05:28:01] local.INFO: Tab value: test  
[2025-11-03 05:28:01] local.INFO: Tab value: test  
[2025-11-03 05:28:01] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-03 05:28:01] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:28:02] local.INFO: Received date: 03/11/25 Monday  
[2025-11-03 05:28:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-11-03 05:28:02] local.INFO: Strength records fetched: 0  
[2025-11-03 05:28:02] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:28:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-03 05:29:28] local.INFO: Received request data: {"_token":"ftohfIebH1RiesoCm6PTPpAkkbgL706a3frkeIxH","selectdates":"03/11/25 Monday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"5","workouts_1":"77","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-11-03 05:29:28] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"5","workouts_1":"77","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-11-03 05:29:29] local.INFO: Created Strength ID {"id":63} 
[2025-11-03 05:29:29] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":63} 
[2025-11-03 05:29:29] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"strength_id":63} 
[2025-11-03 05:29:29] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"2","alt_set":null,"alt_reps":null,"strength_id":63} 
[2025-11-03 05:29:29] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-11-03 05:29:29] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '03/11/25 Monday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-11-03 05:29:35] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:29:36] local.INFO: Tab value: warmup  
[2025-11-03 05:29:36] local.INFO: Tab value: strength  
[2025-11-03 05:29:36] local.INFO: Tab value: conditioning  
[2025-11-03 05:29:36] local.INFO: Tab value: test  
[2025-11-03 05:29:36] local.INFO: Tab value: weightlifting  
[2025-11-03 05:29:36] local.INFO: Tab value: test  
[2025-11-03 05:29:36] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-03 05:29:36] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:29:51] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:29:51] local.INFO: Tab value: warmup  
[2025-11-03 05:29:52] local.INFO: Tab value: strength  
[2025-11-03 05:29:52] local.INFO: Tab value: conditioning  
[2025-11-03 05:29:52] local.INFO: Tab value: test  
[2025-11-03 05:29:52] local.INFO: Tab value: weightlifting  
[2025-11-03 05:29:52] local.INFO: Tab value: test  
[2025-11-03 05:29:52] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-03 05:29:52] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:29:54] local.INFO: Received date: 03/11/25 Monday  
[2025-11-03 05:29:54] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:29:54] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":63,"category_id":5,"workout_id":77,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"03/11/25 Monday","created_at":"2025-11-03T05:29:28.000000Z","updated_at":"2025-11-03T05:29:28.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":139,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":63,"created_at":"2025-11-03T05:29:29.000000Z","updated_at":"2025-11-03T05:29:29.000000Z"},{"id":140,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":63,"created_at":"2025-11-03T05:29:29.000000Z","updated_at":"2025-11-03T05:29:29.000000Z"},{"id":141,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":63,"created_at":"2025-11-03T05:29:29.000000Z","updated_at":"2025-11-03T05:29:29.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-03 05:29:54] local.INFO: Strength records fetched: 1  
[2025-11-03 05:29:54] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":63,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"03/11/25 Monday","sets":[{"id":139,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":63,"created_at":"2025-11-03T05:29:29.000000Z","updated_at":"2025-11-03T05:29:29.000000Z"},{"id":140,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":63,"created_at":"2025-11-03T05:29:29.000000Z","updated_at":"2025-11-03T05:29:29.000000Z"},{"id":141,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":63,"created_at":"2025-11-03T05:29:29.000000Z","updated_at":"2025-11-03T05:29:29.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-03 05:29:56] local.INFO: assigned weightlifting:  {"_token":"ftohfIebH1RiesoCm6PTPpAkkbgL706a3frkeIxH","workout_id":"63","workout_type":"strength","date":"03/11/25 Monday","assigned":"1","class_id":"50"} 
[2025-11-03 05:29:58] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:30:04] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:30:04] local.INFO: Received date: 03/11/25 Monday  
[2025-11-03 05:30:04] local.INFO: Test records fetched: 0  
[2025-11-03 05:30:04] local.INFO: Test records fetched: []  
[2025-11-03 05:30:04] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-03 05:30:15] local.INFO: Test Request Data dd: {"request":{"_token":"ftohfIebH1RiesoCm6PTPpAkkbgL706a3frkeIxH","selectdatet":"03/11/25 Monday","test_id":null,"namet_1":"test01","test-category_1":"5","test-workout_1":"77","test-member_1":"2"}} 
[2025-11-03 05:30:17] local.INFO: Received date: 03/11/25 Monday  
[2025-11-03 05:30:17] local.INFO: Test records fetched: 1  
[2025-11-03 05:30:17] local.INFO: Test records fetched: [{"id":15,"category_id":5,"category_name":"Hinge","workout_id":77,"is_assigned":0,"workout_type":"Hip thrust","member_id":2,"member_name":"Test","workoutname":"test01"}]  
[2025-11-03 05:30:17] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":15,"category_id":5,"category_name":"Hinge","workout_id":77,"is_assigned":0,"workout_type":"Hip thrust","member_id":2,"member_name":"Test","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-03 05:30:17] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-03 05:34:40] local.INFO: Received date: 03/11/25 Monday  
[2025-11-03 05:34:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":63,"category_id":5,"workout_id":77,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"03/11/25 Monday","created_at":"2025-11-03T05:29:28.000000Z","updated_at":"2025-11-03T05:29:56.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},"setstrengthsetsreps":[{"id":139,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":63,"created_at":"2025-11-03T05:29:29.000000Z","updated_at":"2025-11-03T05:29:29.000000Z"},{"id":140,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":63,"created_at":"2025-11-03T05:29:29.000000Z","updated_at":"2025-11-03T05:29:29.000000Z"},{"id":141,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":63,"created_at":"2025-11-03T05:29:29.000000Z","updated_at":"2025-11-03T05:29:29.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-03 05:34:40] local.INFO: Strength records fetched: 1  
[2025-11-03 05:34:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":63,"category_id":5,"category_name":"Hinge","workout_id":77,"workout_type":"Hip thrust","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"03/11/25 Monday","sets":[{"id":139,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":63,"created_at":"2025-11-03T05:29:29.000000Z","updated_at":"2025-11-03T05:29:29.000000Z"},{"id":140,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":63,"created_at":"2025-11-03T05:29:29.000000Z","updated_at":"2025-11-03T05:29:29.000000Z"},{"id":141,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":63,"created_at":"2025-11-03T05:29:29.000000Z","updated_at":"2025-11-03T05:29:29.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-03 05:34:41] local.INFO: Day received: {"day":"03/11/25 Monday"} 
[2025-11-06 04:56:25] local.INFO: Tab value: strength  
[2025-11-06 04:56:25] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 04:56:25] local.INFO: Tab value: warmup  
[2025-11-06 04:56:25] local.INFO: Tab value: conditioning  
[2025-11-06 04:56:25] local.INFO: Tab value: weightlifting  
[2025-11-06 04:56:25] local.INFO: Tab value: test  
[2025-11-06 04:56:25] local.INFO: Tab value: test  
[2025-11-06 04:56:25] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 04:56:25] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-06 04:56:27] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 04:56:27] local.INFO: Received date: 06/11/25 Thursday  
[2025-11-06 04:56:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-11-06 04:56:28] local.INFO: Strength records fetched: 0  
[2025-11-06 04:56:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-06 04:56:55] local.INFO: Received request data: {"_token":"15hCrNYPFLCidwJnOYp1VZ7GSI3W26HjgyOOs8mE","selectdates":"06/11/25 Thursday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"4","workouts_1":"62","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"3","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"high"} 
[2025-11-06 04:56:55] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"4","workouts_1":"62","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"3","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"high"} 
[2025-11-06 04:56:55] local.INFO: Created Strength ID {"id":64} 
[2025-11-06 04:56:55] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"strength_id":64} 
[2025-11-06 04:56:55] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"strength_id":64} 
[2025-11-06 04:56:55] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2025-11-06 04:56:55] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '06/11/25 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2025-11-06 04:56:59] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 04:56:59] local.INFO: Tab value: warmup  
[2025-11-06 04:56:59] local.INFO: Tab value: strength  
[2025-11-06 04:56:59] local.INFO: Tab value: conditioning  
[2025-11-06 04:56:59] local.INFO: Tab value: weightlifting  
[2025-11-06 04:56:59] local.INFO: Tab value: test  
[2025-11-06 04:56:59] local.INFO: Tab value: test  
[2025-11-06 04:56:59] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-06 04:56:59] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 04:57:17] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 04:57:17] local.INFO: Tab value: warmup  
[2025-11-06 04:57:17] local.INFO: Tab value: conditioning  
[2025-11-06 04:57:17] local.INFO: Tab value: strength  
[2025-11-06 04:57:17] local.INFO: Tab value: test  
[2025-11-06 04:57:17] local.INFO: Tab value: weightlifting  
[2025-11-06 04:57:17] local.INFO: Tab value: test  
[2025-11-06 04:57:17] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-06 04:57:17] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 04:57:35] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 04:57:35] local.INFO: Tab value: warmup  
[2025-11-06 04:57:35] local.INFO: Tab value: strength  
[2025-11-06 04:57:35] local.INFO: Tab value: conditioning  
[2025-11-06 04:57:35] local.INFO: Tab value: weightlifting  
[2025-11-06 04:57:35] local.INFO: Tab value: test  
[2025-11-06 04:57:35] local.INFO: Tab value: test  
[2025-11-06 04:57:35] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-06 04:57:35] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 04:57:36] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 04:57:36] local.INFO: Received date: 06/11/25 Thursday  
[2025-11-06 04:57:36] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":64,"category_id":4,"workout_id":62,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"06/11/25 Thursday","created_at":"2025-11-06T04:56:55.000000Z","updated_at":"2025-11-06T04:56:55.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},"setstrengthsetsreps":[{"id":142,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":64,"created_at":"2025-11-06T04:56:55.000000Z","updated_at":"2025-11-06T04:56:55.000000Z"},{"id":143,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":64,"created_at":"2025-11-06T04:56:55.000000Z","updated_at":"2025-11-06T04:56:55.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-06 04:57:36] local.INFO: Strength records fetched: 1  
[2025-11-06 04:57:36] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":64,"category_id":4,"category_name":"Squat","workout_id":62,"workout_type":"Goblet Squat","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"06/11/25 Thursday","sets":[{"id":142,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":64,"created_at":"2025-11-06T04:56:55.000000Z","updated_at":"2025-11-06T04:56:55.000000Z"},{"id":143,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":64,"created_at":"2025-11-06T04:56:55.000000Z","updated_at":"2025-11-06T04:56:55.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-06 04:57:39] local.INFO: assigned weightlifting:  {"_token":"15hCrNYPFLCidwJnOYp1VZ7GSI3W26HjgyOOs8mE","workout_id":"64","workout_type":"strength","date":"06/11/25 Thursday","assigned":"1","class_id":"51"} 
[2025-11-06 04:57:41] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 05:30:36] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 05:30:36] local.INFO: Received date: 06/11/25 Thursday  
[2025-11-06 05:30:36] local.INFO: Test records fetched: 0  
[2025-11-06 05:30:36] local.INFO: Test records fetched: []  
[2025-11-06 05:30:36] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-06 05:39:50] local.INFO: Test Request Data dd: {"request":{"_token":"15hCrNYPFLCidwJnOYp1VZ7GSI3W26HjgyOOs8mE","selectdatet":"06/11/25 Thursday","test_id":null,"namet_1":"test","test-category_1":"4","test-workout_1":"62","test-member_1":"2"}} 
[2025-11-06 05:39:52] local.INFO: Received date: 06/11/25 Thursday  
[2025-11-06 05:39:52] local.INFO: Test records fetched: 1  
[2025-11-06 05:39:52] local.INFO: Test records fetched: [{"id":16,"category_id":4,"category_name":"Squat","workout_id":62,"is_assigned":0,"workout_type":"Goblet Squat","member_id":2,"member_name":"Test","workoutname":"test"}]  
[2025-11-06 05:39:52] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":16,"category_id":4,"category_name":"Squat","workout_id":62,"is_assigned":0,"workout_type":"Goblet Squat","member_id":2,"member_name":"Test","workoutname":"test"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-06 05:39:52] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 05:39:55] local.INFO: assigned weightlifting:  {"_token":"15hCrNYPFLCidwJnOYp1VZ7GSI3W26HjgyOOs8mE","workout_id":"16","workout_type":"test","date":"06/11/25 Thursday","assigned":"1","class_id":"52"} 
[2025-11-06 05:39:56] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 06:52:52] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 06:52:52] local.INFO: Tab value: warmup  
[2025-11-06 06:52:53] local.INFO: Tab value: strength  
[2025-11-06 06:52:53] local.INFO: Tab value: conditioning  
[2025-11-06 06:52:53] local.INFO: Tab value: weightlifting  
[2025-11-06 06:52:53] local.INFO: Tab value: test  
[2025-11-06 06:52:53] local.INFO: Tab value: test  
[2025-11-06 06:52:53] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-06 06:52:53] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 06:53:44] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 06:53:44] local.INFO: Tab value: warmup  
[2025-11-06 06:53:44] local.INFO: Tab value: strength  
[2025-11-06 06:53:44] local.INFO: Tab value: conditioning  
[2025-11-06 06:53:44] local.INFO: Tab value: test  
[2025-11-06 06:53:44] local.INFO: Tab value: weightlifting  
[2025-11-06 06:53:44] local.INFO: Tab value: test  
[2025-11-06 06:53:44] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-06 06:53:44] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 10:37:32] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 10:37:33] local.INFO: Tab value: warmup  
[2025-11-06 10:37:33] local.INFO: Tab value: conditioning  
[2025-11-06 10:37:33] local.INFO: Tab value: strength  
[2025-11-06 10:37:33] local.INFO: Tab value: weightlifting  
[2025-11-06 10:37:33] local.INFO: Tab value: test  
[2025-11-06 10:37:33] local.INFO: Tab value: test  
[2025-11-06 10:37:33] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-06 10:37:33] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 10:37:34] local.INFO: Day received: {"day":"06/11/25 Thursday"} 
[2025-11-06 10:37:34] local.INFO: Received date: 06/11/25 Thursday  
[2025-11-06 10:37:34] local.INFO: Test records fetched: 1  
[2025-11-06 10:37:34] local.INFO: Test records fetched: [{"id":16,"category_id":4,"category_name":"Squat","workout_id":62,"is_assigned":1,"workout_type":"Goblet Squat","member_id":2,"member_name":"Test","workoutname":"test"}]  
[2025-11-06 10:37:34] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":16,"category_id":4,"category_name":"Squat","workout_id":62,"is_assigned":1,"workout_type":"Goblet Squat","member_id":2,"member_name":"Test","workoutname":"test"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-13 07:36:47] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:36:47] local.INFO: Tab value: warmup  
[2025-11-13 07:36:47] local.INFO: Tab value: strength  
[2025-11-13 07:36:47] local.INFO: Tab value: conditioning  
[2025-11-13 07:36:47] local.INFO: Tab value: weightlifting  
[2025-11-13 07:36:47] local.INFO: Tab value: test  
[2025-11-13 07:36:47] local.INFO: Tab value: test  
[2025-11-13 07:36:47] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:36:47] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-13 07:37:13] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:37:13] local.INFO: Tab value: warmup  
[2025-11-13 07:37:13] local.INFO: Tab value: strength  
[2025-11-13 07:37:13] local.INFO: Tab value: conditioning  
[2025-11-13 07:37:14] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-13 07:37:14] local.INFO: Tab value: test  
[2025-11-13 07:37:14] local.INFO: Tab value: test  
[2025-11-13 07:37:14] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:37:14] local.INFO: Tab value: weightlifting  
[2025-11-13 07:37:33] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:37:34] local.INFO: Tab value: warmup  
[2025-11-13 07:37:34] local.INFO: Tab value: strength  
[2025-11-13 07:37:34] local.INFO: Tab value: conditioning  
[2025-11-13 07:37:34] local.INFO: Tab value: weightlifting  
[2025-11-13 07:37:34] local.INFO: Tab value: test  
[2025-11-13 07:37:34] local.INFO: Tab value: test  
[2025-11-13 07:37:34] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-13 07:37:34] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:37:52] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:37:52] local.INFO: Tab value: warmup  
[2025-11-13 07:37:52] local.INFO: Tab value: strength  
[2025-11-13 07:37:52] local.INFO: Tab value: conditioning  
[2025-11-13 07:37:52] local.INFO: Tab value: weightlifting  
[2025-11-13 07:37:52] local.INFO: Tab value: test  
[2025-11-13 07:37:52] local.INFO: Tab value: test  
[2025-11-13 07:37:52] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:37:52] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-13 07:38:03] local.INFO: Incoming Warmup Request Data:  {"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","selectdatew":"13/11/25 Thursday","namew_2":null,"warmup_id":null,"namew_1":"warmup01","categoryw_1":"4","workoutw_1":"115","repsw_1":"2","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-13 07:38:03] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup01","categoryw_1":"4","workoutw_1":"115","repsw_1":"2","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-13 07:38:03] local.INFO: Warmup entry saved with ID: 22  
[2025-11-13 07:38:03] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-11-13 07:38:18] local.INFO: Incoming Warmup Request Data:  {"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","selectdatew":"13/11/25 Thursday","namew_2":null,"warmup_id":null,"namew_1":"warmup02","categoryw_1":"8","workoutw_1":"119","repsw_1":"3","unit_1":"/10","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-13 07:38:18] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup02","categoryw_1":"8","workoutw_1":"119","repsw_1":"3","unit_1":"/10","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-13 07:38:18] local.INFO: Warmup entry saved with ID: 23  
[2025-11-13 07:38:18] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-11-13 07:38:25] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:38:26] local.INFO: Tab value: warmup  
[2025-11-13 07:38:26] local.INFO: Tab value: strength  
[2025-11-13 07:38:26] local.INFO: Tab value: conditioning  
[2025-11-13 07:38:26] local.INFO: Tab value: weightlifting  
[2025-11-13 07:38:26] local.INFO: Tab value: test  
[2025-11-13 07:38:26] local.INFO: Tab value: test  
[2025-11-13 07:38:26] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-13 07:38:26] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:38:27] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:38:27] local.INFO: Received date: 13/11/25 Thursday  
[2025-11-13 07:38:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-11-13 07:38:27] local.INFO: Strength records fetched: 0  
[2025-11-13 07:38:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-13 07:39:48] local.INFO: Received request data: {"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","selectdates":"13/11/25 Thursday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","unit_1":"%","weigths_1":"30","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"3","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-11-13 07:39:48] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"34","unit_1":"%","weigths_1":"30","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"3","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-11-13 07:39:48] local.INFO: Created Strength ID {"id":65} 
[2025-11-13 07:39:48] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"strength_id":65} 
[2025-11-13 07:39:48] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"strength_id":65} 
[2025-11-13 07:39:48] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"3","alt_set":null,"alt_reps":null,"strength_id":65} 
[2025-11-13 07:40:58] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:40:58] local.INFO: Received date: 13/11/25 Thursday  
[2025-11-13 07:40:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":65,"category_id":1,"workout_id":34,"weight":30.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/11/25 Thursday","created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},"setstrengthsetsreps":[{"id":144,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"},{"id":145,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"},{"id":146,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-13 07:40:58] local.INFO: Strength records fetched: 1  
[2025-11-13 07:40:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":65,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":30.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/11/25 Thursday","sets":[{"id":144,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"},{"id":145,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"},{"id":146,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-13 07:41:02] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:41:02] local.INFO: return Weightlifting Request Data:   
[2025-11-13 07:43:02] local.INFO: Incoming Weightlifting Request Data:  {"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","selectdatewe":"13/11/25 Thursday","namewe_2":null,"weightlifting_id":null,"namewe_1":"weight01","categorywe_1":"9","workoutwe_1":"126","unitwe_1":"%","weigthwe_1":"60","setwid_1":null,"setswe_1":"1","repswe_1":"3","setswe_12":"2","repswe_12":"3","setswe_13":"3","repswe_13":"3","setswe_14":"4","repswe_14":"3","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"high"} 
[2025-11-13 07:43:02] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"weight01","categorywe_1":"9","workoutwe_1":"126","unitwe_1":"%","weigthwe_1":"60","setwid_1":null,"setswe_1":"1","repswe_1":"3","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"high"} 
[2025-11-13 07:43:02] local.INFO: message for weightlifting data {"category":"9","workout":"126","name":"weight01","weigth":"60","unit":"%","restred":"00:00:15","restgreen":"00:00:15","restyellow":"00:00:15","intensity":"high","date":"13/11/25 Thursday"} 
[2025-11-13 07:43:03] local.INFO: Created Weightlifting ID {"id":12} 
[2025-11-13 07:43:03] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":12} 
[2025-11-13 07:43:03] local.INFO: Saving WeightliftingSet row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":12} 
[2025-11-13 07:43:03] local.INFO: Saving WeightliftingSet row {"sets":"3","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":12} 
[2025-11-13 07:43:03] local.INFO: Saving WeightliftingSet row {"sets":"4","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":12} 
[2025-11-13 07:43:04] local.INFO: return Weightlifting Request Data:  [{"id":12,"category_id":9,"category_name":"Horizontal Press","workoutname":"weight01","workout_id":126,"workout_type":"Bench","weight":60.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"13/11/25 Thursday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":18,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":12,"created_at":"2025-11-13T07:43:03.000000Z","updated_at":"2025-11-13T07:43:03.000000Z"},{"id":19,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":12,"created_at":"2025-11-13T07:43:03.000000Z","updated_at":"2025-11-13T07:43:03.000000Z"},{"id":20,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":12,"created_at":"2025-11-13T07:43:03.000000Z","updated_at":"2025-11-13T07:43:03.000000Z"},{"id":21,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":12,"created_at":"2025-11-13T07:43:03.000000Z","updated_at":"2025-11-13T07:43:03.000000Z"}]}}] 
[2025-11-13 07:43:05] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:43:47] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:44:10] local.INFO: Incoming Conditioning Request Data:  {"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","selectdatec":"13/11/25 Thursday","rounds":null,"conditioning_id":null,"namec_1":"ccc01","timeTC_1":"04:00","rounds_1":null,"pyramidCheckboxCon":"on","pyramidSet_1":"1","reps_1":null,"unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"pyramidSet_12":"2","reps_12":null,"unit_12":"/10","weigthPy_12":"6","pyramidmale_12":null,"pyramidfemale_12":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"4","weigthc_1":"9","male_1":null,"female_1":null} 
[2025-11-13 07:44:10] local.INFO: Processed Conditioning Data: {"namec_1":"ccc01","timeTC_1":"04:00","rounds_1":null,"pyramidSet_1":"1","reps_1":null,"unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"pyramidSet_12":"2","reps_12":null,"unit_12":"/10","weigthPy_12":"6","pyramidmale_12":null,"pyramidfemale_12":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"4","weigthc_1":"9","male_1":null,"female_1":null} 
[2025-11-13 07:44:10] local.INFO: Created Conditioning ID {"id":17} 
[2025-11-13 07:44:10] local.INFO: Saving PyramidSet row: {"sets":null,"reps":null,"unit":"/10","pyramidweight":"5","pyramidmale":null,"pyramidfemale":null,"conditioning_id":17} 
[2025-11-13 07:44:12] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:44:13] local.INFO: Received date: 13/11/25 Thursday  
[2025-11-13 07:44:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":65,"category_id":1,"workout_id":34,"weight":30.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/11/25 Thursday","created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},"setstrengthsetsreps":[{"id":144,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"},{"id":145,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"},{"id":146,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-13 07:44:13] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:44:13] local.INFO: Strength records fetched: 1  
[2025-11-13 07:44:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":65,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":30.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/11/25 Thursday","sets":[{"id":144,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"},{"id":145,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"},{"id":146,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-13 07:44:16] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:44:16] local.INFO: return Weightlifting Request Data:  [{"id":12,"category_id":9,"category_name":"Horizontal Press","workoutname":"weight01","workout_id":126,"workout_type":"Bench","weight":60.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"13/11/25 Thursday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":18,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":12,"created_at":"2025-11-13T07:43:03.000000Z","updated_at":"2025-11-13T07:43:03.000000Z"},{"id":19,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":12,"created_at":"2025-11-13T07:43:03.000000Z","updated_at":"2025-11-13T07:43:03.000000Z"},{"id":20,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":12,"created_at":"2025-11-13T07:43:03.000000Z","updated_at":"2025-11-13T07:43:03.000000Z"},{"id":21,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":12,"created_at":"2025-11-13T07:43:03.000000Z","updated_at":"2025-11-13T07:43:03.000000Z"}]}}] 
[2025-11-13 07:44:18] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:44:18] local.INFO: Received date: 13/11/25 Thursday  
[2025-11-13 07:44:18] local.INFO: Test records fetched: 0  
[2025-11-13 07:44:18] local.INFO: Test records fetched: []  
[2025-11-13 07:44:18] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-13 07:44:28] local.INFO: Test Request Data dd: {"request":{"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","selectdatet":"13/11/25 Thursday","test_id":null,"namet_1":"test01","test-category_1":"1","test-workout_1":"34","test-member_1":"2"}} 
[2025-11-13 07:44:30] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:44:30] local.INFO: Received date: 13/11/25 Thursday  
[2025-11-13 07:44:30] local.INFO: Test records fetched: 1  
[2025-11-13 07:44:30] local.INFO: Test records fetched: [{"id":17,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"is_assigned":0,"workout_type":"Head supported row","member_id":2,"member_name":"Test","workoutname":"test01"}]  
[2025-11-13 07:44:30] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":17,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"is_assigned":0,"workout_type":"Head supported row","member_id":2,"member_name":"Test","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-13 07:44:50] local.INFO: Test Request Data dd: {"request":{"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","selectdatet":"13/11/25 Thursday","test_id":null,"namet_1":"test02","test-category_1":"9","test-workout_1":"125","test-member_1":"2"}} 
[2025-11-13 07:44:52] local.INFO: Received date: 13/11/25 Thursday  
[2025-11-13 07:44:52] local.INFO: Test records fetched: 2  
[2025-11-13 07:44:52] local.INFO: Test records fetched: [{"id":17,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"is_assigned":0,"workout_type":"Head supported row","member_id":2,"member_name":"Test","workoutname":"test01"},{"id":18,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test02"}]  
[2025-11-13 07:44:52] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":17,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"is_assigned":0,"workout_type":"Head supported row","member_id":2,"member_name":"Test","workoutname":"test01"},{"id":18,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test02"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-13 07:44:53] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:44:59] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:45:03] local.INFO: assigned weightlifting:  {"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","workout_id":"22","workout_type":"warmup","date":"13/11/25 Thursday","assigned":"1","class_id":"53"} 
[2025-11-13 07:45:06] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:45:08] local.INFO: assigned weightlifting:  {"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","workout_id":"23","workout_type":"warmup","date":"13/11/25 Thursday","assigned":"1","class_id":"54"} 
[2025-11-13 07:45:10] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:45:10] local.INFO: Received date: 13/11/25 Thursday  
[2025-11-13 07:45:11] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:45:11] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":65,"category_id":1,"workout_id":34,"weight":30.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/11/25 Thursday","created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},"setstrengthsetsreps":[{"id":144,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"},{"id":145,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"},{"id":146,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-13 07:45:11] local.INFO: Strength records fetched: 1  
[2025-11-13 07:45:11] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":65,"category_id":1,"category_name":"Horizontal pull","workout_id":34,"workout_type":"Head supported row","workoutname":"strength01","weight":30.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/11/25 Thursday","sets":[{"id":144,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"},{"id":145,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"},{"id":146,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":65,"created_at":"2025-11-13T07:39:48.000000Z","updated_at":"2025-11-13T07:39:48.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-13 07:45:13] local.INFO: assigned weightlifting:  {"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","workout_id":"65","workout_type":"strength","date":"13/11/25 Thursday","assigned":"1","class_id":"53"} 
[2025-11-13 07:45:16] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:45:17] local.INFO: return Weightlifting Request Data:  [{"id":12,"category_id":9,"category_name":"Horizontal Press","workoutname":"weight01","workout_id":126,"workout_type":"Bench","weight":60.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"13/11/25 Thursday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":18,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":12,"created_at":"2025-11-13T07:43:03.000000Z","updated_at":"2025-11-13T07:43:03.000000Z"},{"id":19,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":12,"created_at":"2025-11-13T07:43:03.000000Z","updated_at":"2025-11-13T07:43:03.000000Z"},{"id":20,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":12,"created_at":"2025-11-13T07:43:03.000000Z","updated_at":"2025-11-13T07:43:03.000000Z"},{"id":21,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":12,"created_at":"2025-11-13T07:43:03.000000Z","updated_at":"2025-11-13T07:43:03.000000Z"}]}}] 
[2025-11-13 07:45:17] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:45:22] local.INFO: assigned weightlifting:  {"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","class_id":"53","workout_id":"12","workout_type":"weightlifting","date":"13/11/25 Thursday","assigned":"1"} 
[2025-11-13 07:45:25] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:45:26] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:45:55] local.INFO: Incoming Conditioning Request Data:  {"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","selectdatec":"13/11/25 Thursday","rounds":null,"conditioning_id":null,"namec_1":"ccc02","timeTC_1":"04:00","rounds_1":null,"pyramidCheckboxCon":"on","pyramidSet_1":"1","reps_1":null,"unit_1":"/10","weigthPy_1":"7","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"2","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-13 07:45:55] local.INFO: Processed Conditioning Data: {"namec_1":"ccc02","timeTC_1":"04:00","rounds_1":null,"pyramidSet_1":"1","reps_1":null,"unit_1":"/10","weigthPy_1":"7","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"2","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-13 07:45:55] local.INFO: Created Conditioning ID {"id":18} 
[2025-11-13 07:45:55] local.INFO: Saving PyramidSet row: {"sets":null,"reps":null,"unit":"/10","pyramidweight":"7","pyramidmale":null,"pyramidfemale":null,"conditioning_id":18} 
[2025-11-13 07:45:58] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:46:09] local.INFO: assigned weightlifting:  {"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","workout_id":"17","workout_type":"conditioning","date":"13/11/25 Thursday","assigned":"1","class_id":"53"} 
[2025-11-13 07:46:10] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:46:13] local.INFO: assigned weightlifting:  {"_token":"050SlslXUX1ixDYE0HkOSv5MGnUmCGuuYJzZw8Yo","workout_id":"18","workout_type":"conditioning","date":"13/11/25 Thursday","assigned":"1","class_id":"54"} 
[2025-11-13 07:46:15] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:48:21] local.INFO: storewarmupdaily function called.  
[2025-11-13 07:48:21] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-11-13 07:48:21] local.INFO: Received warmup payload: {"warmupItems":[{"warmup_id":22,"reps":2,"selected_day":"13/11/2025 Thursday"},{"warmup_id":23,"reps":3,"selected_day":"13/11/2025 Thursday"}]} 
[2025-11-13 07:48:21] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2025-11-13 07:48:21] local.INFO: New warm-up created {"warmup_id":22} 
[2025-11-13 07:48:21] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2025-11-13 07:48:21] local.INFO: New warm-up created {"warmup_id":23} 
[2025-11-13 07:48:41] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:49:21] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 07:49:21] local.INFO: Tab value: warmup  
[2025-11-13 07:49:22] local.INFO: Tab value: strength  
[2025-11-13 07:49:22] local.INFO: Tab value: conditioning  
[2025-11-13 07:49:22] local.INFO: Tab value: weightlifting  
[2025-11-13 07:49:22] local.INFO: Tab value: test  
[2025-11-13 07:49:22] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-13 07:49:22] local.INFO: Tab value: test  
[2025-11-13 07:49:22] local.INFO: Day received: {"day":"13/11/25 Thursday"} 
[2025-11-13 08:36:03] local.INFO: storestrengthdaily function called.  
[2025-11-13 08:36:03] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-11-13 08:36:03] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":65,"reps":3,"weight":19.25,"selected_day":"13/11/2025 Thursday"},{"set_number":2,"strength_id":65,"reps":3,"weight":23.5,"selected_day":"13/11/2025 Thursday"},{"set_number":3,"strength_id":65,"reps":3,"weight":27.5,"selected_day":"13/11/2025 Thursday"}]} 
[2025-11-13 08:36:03] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-11-13 08:36:03] local.INFO: New strength record created {"strength_id":65,"set_number":1} 
[2025-11-13 08:36:03] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-11-13 08:36:03] local.INFO: New strength record created {"strength_id":65,"set_number":2} 
[2025-11-13 08:36:03] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-11-13 08:36:03] local.INFO: New strength record created {"strength_id":65,"set_number":3} 
[2025-11-14 10:46:58] local.INFO: Day received: {"day":"14/11/25 Friday"} 
[2025-11-14 10:46:58] local.INFO: Tab value: strength  
[2025-11-14 10:46:58] local.INFO: Tab value: weightlifting  
[2025-11-14 10:46:58] local.INFO: Tab value: warmup  
[2025-11-14 10:46:58] local.INFO: Tab value: conditioning  
[2025-11-14 10:46:58] local.INFO: Tab value: test  
[2025-11-14 10:46:58] local.INFO: Tab value: test  
[2025-11-14 10:46:58] local.INFO: Day received: {"day":"14/11/25 Friday"} 
[2025-11-14 10:46:58] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-14 10:47:06] local.INFO: Day received: {"day":"14/11/25 Friday"} 
[2025-11-14 10:47:06] local.INFO: Tab value: warmup  
[2025-11-14 10:47:06] local.INFO: Tab value: conditioning  
[2025-11-14 10:47:06] local.INFO: Tab value: strength  
[2025-11-14 10:47:07] local.INFO: Tab value: weightlifting  
[2025-11-14 10:47:07] local.INFO: Tab value: test  
[2025-11-14 10:47:07] local.INFO: Tab value: test  
[2025-11-14 10:47:07] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-14 10:47:07] local.INFO: Day received: {"day":"14/11/25 Friday"} 
[2025-11-14 10:47:12] local.INFO: Received date: 14/11/25 Friday  
[2025-11-14 10:47:12] local.INFO: Day received: {"day":"14/11/25 Friday"} 
[2025-11-14 10:47:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-11-14 10:47:12] local.INFO: Strength records fetched: 0  
[2025-11-14 10:47:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-14 10:47:36] local.INFO: Received request data: {"_token":"PAvOgkXsAGNCN3NyAnCvzsSIHdsrusTnn72zt21E","selectdates":"14/11/25 Friday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-11-14 10:47:36] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"20","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-11-14 10:47:36] local.INFO: Created Strength ID {"id":66} 
[2025-11-14 10:47:36] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":66} 
[2025-11-14 10:47:37] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"strength_id":66} 
[2025-11-14 10:47:37] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"2","alt_set":null,"alt_reps":null,"strength_id":66} 
[2025-11-14 10:47:39] local.INFO: Received date: 14/11/25 Friday  
[2025-11-14 10:47:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":66,"category_id":9,"workout_id":125,"weight":20.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"14/11/25 Friday","created_at":"2025-11-14T10:47:36.000000Z","updated_at":"2025-11-14T10:47:36.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":147,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":66,"created_at":"2025-11-14T10:47:36.000000Z","updated_at":"2025-11-14T10:47:36.000000Z"},{"id":148,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":66,"created_at":"2025-11-14T10:47:37.000000Z","updated_at":"2025-11-14T10:47:37.000000Z"},{"id":149,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":66,"created_at":"2025-11-14T10:47:37.000000Z","updated_at":"2025-11-14T10:47:37.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-14 10:47:39] local.INFO: Strength records fetched: 1  
[2025-11-14 10:47:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":66,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"strength01","weight":20.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"14/11/25 Friday","sets":[{"id":147,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":66,"created_at":"2025-11-14T10:47:36.000000Z","updated_at":"2025-11-14T10:47:36.000000Z"},{"id":148,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":66,"created_at":"2025-11-14T10:47:37.000000Z","updated_at":"2025-11-14T10:47:37.000000Z"},{"id":149,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":66,"created_at":"2025-11-14T10:47:37.000000Z","updated_at":"2025-11-14T10:47:37.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-14 10:47:39] local.INFO: Day received: {"day":"14/11/25 Friday"} 
[2025-11-14 10:47:41] local.INFO: assigned weightlifting:  {"_token":"PAvOgkXsAGNCN3NyAnCvzsSIHdsrusTnn72zt21E","workout_id":"66","workout_type":"strength","date":"14/11/25 Friday","assigned":"1","class_id":"56"} 
[2025-11-14 10:47:43] local.INFO: Day received: {"day":"14/11/25 Friday"} 
[2025-11-14 10:49:16] local.INFO: Received date: 14/11/25 Friday  
[2025-11-14 10:49:16] local.INFO: Test records fetched: 0  
[2025-11-14 10:49:16] local.INFO: Test records fetched: []  
[2025-11-14 10:49:16] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-14 10:49:16] local.INFO: Day received: {"day":"14/11/25 Friday"} 
[2025-11-14 10:49:24] local.INFO: Test Request Data dd: {"request":{"_token":"PAvOgkXsAGNCN3NyAnCvzsSIHdsrusTnn72zt21E","selectdatet":"14/11/25 Friday","test_id":null,"namet_1":"test01","test-category_1":"9","test-workout_1":"125","test-member_1":"2"}} 
[2025-11-14 10:49:25] local.INFO: Received date: 14/11/25 Friday  
[2025-11-14 10:49:25] local.INFO: Test records fetched: 1  
[2025-11-14 10:49:25] local.INFO: Test records fetched: [{"id":19,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]  
[2025-11-14 10:49:25] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":19,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-14 10:49:26] local.INFO: Day received: {"day":"14/11/25 Friday"} 
[2025-11-17 04:10:52] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 04:10:52] local.INFO: Tab value: strength  
[2025-11-17 04:10:52] local.INFO: Tab value: warmup  
[2025-11-17 04:10:52] local.INFO: Tab value: conditioning  
[2025-11-17 04:10:52] local.INFO: Tab value: weightlifting  
[2025-11-17 04:10:52] local.INFO: Tab value: test  
[2025-11-17 04:10:52] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 04:10:52] local.INFO: Tab value: test  
[2025-11-17 04:10:52] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-17 04:12:55] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 04:12:56] local.INFO: Tab value: warmup  
[2025-11-17 04:12:56] local.INFO: Tab value: strength  
[2025-11-17 04:12:56] local.INFO: Tab value: test  
[2025-11-17 04:12:56] local.INFO: Tab value: conditioning  
[2025-11-17 04:12:56] local.INFO: Tab value: weightlifting  
[2025-11-17 04:12:56] local.INFO: Tab value: test  
[2025-11-17 04:12:56] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-17 04:12:57] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 04:13:08] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 04:13:09] local.INFO: Tab value: warmup  
[2025-11-17 04:13:09] local.INFO: Tab value: conditioning  
[2025-11-17 04:13:09] local.INFO: Tab value: test  
[2025-11-17 04:13:09] local.INFO: Tab value: strength  
[2025-11-17 04:13:09] local.INFO: Tab value: weightlifting  
[2025-11-17 04:13:09] local.INFO: Tab value: test  
[2025-11-17 04:13:09] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-17 04:13:09] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 04:13:26] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 04:13:27] local.INFO: Tab value: warmup  
[2025-11-17 04:13:27] local.INFO: Tab value: strength  
[2025-11-17 04:13:27] local.INFO: Tab value: weightlifting  
[2025-11-17 04:13:27] local.INFO: Tab value: conditioning  
[2025-11-17 04:13:27] local.INFO: Tab value: test  
[2025-11-17 04:13:27] local.INFO: Tab value: test  
[2025-11-17 04:13:27] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-17 04:13:27] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 04:13:33] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 04:13:33] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:10:49] local.INFO: Incoming Warmup Request Data:  {"_token":"bBZ8yiJjOZrfw0NEwo6IcUyxHWqt454CtXMQQc1g","selectdatew":"17/11/25 Monday","namew_2":null,"warmup_id":null,"namew_1":"warmup","categoryw_1":"5","workoutw_1":"116","repsw_1":"2","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-17 05:10:50] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup","categoryw_1":"5","workoutw_1":"116","repsw_1":"2","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-17 05:10:50] local.INFO: Warmup entry saved with ID: 24  
[2025-11-17 05:10:50] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-11-17 05:11:14] local.INFO: Incoming Warmup Request Data:  {"_token":"bBZ8yiJjOZrfw0NEwo6IcUyxHWqt454CtXMQQc1g","selectdatew":"17/11/25 Monday","namew_2":null,"warmup_id":null,"namew_1":"warmup01","categoryw_1":"2","workoutw_1":"108","repsw_1":"3","unit_1":"/10","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-17 05:11:14] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup01","categoryw_1":"2","workoutw_1":"108","repsw_1":"3","unit_1":"/10","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-17 05:11:14] local.INFO: Warmup entry saved with ID: 25  
[2025-11-17 05:11:14] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-11-17 05:11:19] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:11:19] local.INFO: Tab value: conditioning  
[2025-11-17 05:11:19] local.INFO: Tab value: warmup  
[2025-11-17 05:11:19] local.INFO: Tab value: strength  
[2025-11-17 05:11:20] local.INFO: Tab value: weightlifting  
[2025-11-17 05:11:20] local.INFO: Tab value: test  
[2025-11-17 05:11:20] local.INFO: Tab value: test  
[2025-11-17 05:11:20] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-17 05:11:20] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:11:22] local.INFO: assigned weightlifting:  {"_token":"bBZ8yiJjOZrfw0NEwo6IcUyxHWqt454CtXMQQc1g","workout_id":"24","workout_type":"warmup","date":"17/11/25 Monday","assigned":"1","class_id":"58"} 
[2025-11-17 05:11:23] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:11:27] local.INFO: assigned weightlifting:  {"_token":"bBZ8yiJjOZrfw0NEwo6IcUyxHWqt454CtXMQQc1g","workout_id":"25","workout_type":"warmup","date":"17/11/25 Monday","assigned":"1","class_id":"59"} 
[2025-11-17 05:11:28] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:11:41] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:11:41] local.INFO: Received date: 17/11/25 Monday  
[2025-11-17 05:11:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-11-17 05:11:41] local.INFO: Strength records fetched: 0  
[2025-11-17 05:11:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-17 05:32:25] local.INFO: Received request data: {"_token":"bBZ8yiJjOZrfw0NEwo6IcUyxHWqt454CtXMQQc1g","selectdates":"17/11/25 Monday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"30","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-11-17 05:32:25] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"30","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-11-17 05:32:25] local.INFO: Created Strength ID {"id":67} 
[2025-11-17 05:32:25] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":67} 
[2025-11-17 05:32:25] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"strength_id":67} 
[2025-11-17 05:32:25] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"2","alt_set":null,"alt_reps":null,"strength_id":67} 
[2025-11-17 05:32:28] local.INFO: Received date: 17/11/25 Monday  
[2025-11-17 05:32:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":67,"category_id":9,"workout_id":125,"weight":30.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/11/25 Monday","created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":150,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":67,"created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z"},{"id":151,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":67,"created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z"},{"id":152,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":67,"created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-17 05:32:28] local.INFO: Strength records fetched: 1  
[2025-11-17 05:32:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":67,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"strength01","weight":30.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/11/25 Monday","sets":[{"id":150,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":67,"created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z"},{"id":151,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":67,"created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z"},{"id":152,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":67,"created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-17 05:32:28] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:32:35] local.INFO: assigned weightlifting:  {"_token":"bBZ8yiJjOZrfw0NEwo6IcUyxHWqt454CtXMQQc1g","workout_id":"67","workout_type":"strength","date":"17/11/25 Monday","assigned":"1","class_id":"58"} 
[2025-11-17 05:32:38] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:32:39] local.INFO: return Weightlifting Request Data:   
[2025-11-17 05:32:40] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:33:27] local.INFO: Incoming Weightlifting Request Data:  {"_token":"bBZ8yiJjOZrfw0NEwo6IcUyxHWqt454CtXMQQc1g","selectdatewe":"17/11/25 Monday","namewe_2":null,"weightlifting_id":null,"namewe_1":"weight01","categorywe_1":"9","workoutwe_1":"126","unitwe_1":"%","weigthwe_1":"60","setwid_1":null,"setswe_1":"1","repswe_1":"4","setswe_12":"2","repswe_12":"4","setswe_13":"3","repswe_13":"4","setswe_14":"4","repswe_14":"4","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"medium"} 
[2025-11-17 05:33:27] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"weight01","categorywe_1":"9","workoutwe_1":"126","unitwe_1":"%","weigthwe_1":"60","setwid_1":null,"setswe_1":"1","repswe_1":"4","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"medium"} 
[2025-11-17 05:33:27] local.INFO: message for weightlifting data {"category":"9","workout":"126","name":"weight01","weigth":"60","unit":"%","restred":"00:00:15","restgreen":"00:00:15","restyellow":"00:00:15","intensity":"medium","date":"17/11/25 Monday"} 
[2025-11-17 05:33:27] local.INFO: Created Weightlifting ID {"id":13} 
[2025-11-17 05:33:27] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"weightlifting_id":13} 
[2025-11-17 05:33:27] local.INFO: Saving WeightliftingSet row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"weightlifting_id":13} 
[2025-11-17 05:33:27] local.INFO: Saving WeightliftingSet row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"weightlifting_id":13} 
[2025-11-17 05:33:27] local.INFO: Saving WeightliftingSet row {"sets":"4","reps":"4","alt_set":null,"alt_reps":null,"weightlifting_id":13} 
[2025-11-17 05:33:28] local.INFO: return Weightlifting Request Data:  [{"id":13,"category_id":9,"category_name":"Horizontal Press","workoutname":"weight01","workout_id":126,"workout_type":"Bench","weight":60.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"17/11/25 Monday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":13,"created_at":"2025-11-17T05:33:27.000000Z","updated_at":"2025-11-17T05:33:27.000000Z"},{"id":23,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":13,"created_at":"2025-11-17T05:33:27.000000Z","updated_at":"2025-11-17T05:33:27.000000Z"},{"id":24,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":13,"created_at":"2025-11-17T05:33:27.000000Z","updated_at":"2025-11-17T05:33:27.000000Z"},{"id":25,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":13,"created_at":"2025-11-17T05:33:27.000000Z","updated_at":"2025-11-17T05:33:27.000000Z"}]}}] 
[2025-11-17 05:33:29] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:33:34] local.INFO: assigned weightlifting:  {"_token":"bBZ8yiJjOZrfw0NEwo6IcUyxHWqt454CtXMQQc1g","class_id":"58","workout_id":"13","workout_type":"weightlifting","date":"17/11/25 Monday","assigned":"1"} 
[2025-11-17 05:33:35] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:33:36] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:33:54] local.INFO: Incoming Conditioning Request Data:  {"_token":"bBZ8yiJjOZrfw0NEwo6IcUyxHWqt454CtXMQQc1g","selectdatec":"17/11/25 Monday","rounds":null,"conditioning_id":null,"namec_1":"ccc01","timeTC_1":"04:00","rounds_1":null,"pyramidCheckboxCon":"on","pyramidSet_1":"1","reps_1":"2","unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"1","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-17 05:33:54] local.INFO: Processed Conditioning Data: {"namec_1":"ccc01","timeTC_1":"04:00","rounds_1":null,"pyramidSet_1":"1","reps_1":"2","unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"1","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-17 05:33:54] local.INFO: Created Conditioning ID {"id":19} 
[2025-11-17 05:33:54] local.INFO: Saving PyramidSet row: {"sets":null,"reps":"2","unit":"/10","pyramidweight":"5","pyramidmale":null,"pyramidfemale":null,"conditioning_id":19} 
[2025-11-17 05:33:56] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:33:57] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:33:57] local.INFO: Received date: 17/11/25 Monday  
[2025-11-17 05:33:57] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":67,"category_id":9,"workout_id":125,"weight":30.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/11/25 Monday","created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:35.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":150,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":67,"created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z"},{"id":151,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":67,"created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z"},{"id":152,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":67,"created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-17 05:33:57] local.INFO: Strength records fetched: 1  
[2025-11-17 05:33:57] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":67,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"strength01","weight":30.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/11/25 Monday","sets":[{"id":150,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":67,"created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z"},{"id":151,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":67,"created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z"},{"id":152,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":67,"created_at":"2025-11-17T05:32:25.000000Z","updated_at":"2025-11-17T05:32:25.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-17 05:34:01] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:34:01] local.INFO: return Weightlifting Request Data:  [{"id":13,"category_id":9,"category_name":"Horizontal Press","workoutname":"weight01","workout_id":126,"workout_type":"Bench","weight":60.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"17/11/25 Monday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":22,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":13,"created_at":"2025-11-17T05:33:27.000000Z","updated_at":"2025-11-17T05:33:27.000000Z"},{"id":23,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":13,"created_at":"2025-11-17T05:33:27.000000Z","updated_at":"2025-11-17T05:33:27.000000Z"},{"id":24,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":13,"created_at":"2025-11-17T05:33:27.000000Z","updated_at":"2025-11-17T05:33:27.000000Z"},{"id":25,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":13,"created_at":"2025-11-17T05:33:27.000000Z","updated_at":"2025-11-17T05:33:27.000000Z"}]}}] 
[2025-11-17 05:34:03] local.INFO: Received date: 17/11/25 Monday  
[2025-11-17 05:34:03] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:34:03] local.INFO: Test records fetched: 0  
[2025-11-17 05:34:03] local.INFO: Test records fetched: []  
[2025-11-17 05:34:03] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-17 05:34:13] local.INFO: Test Request Data dd: {"request":{"_token":"bBZ8yiJjOZrfw0NEwo6IcUyxHWqt454CtXMQQc1g","selectdatet":"17/11/25 Monday","test_id":null,"namet_1":"test01","test-category_1":"9","test-workout_1":"125","test-member_1":"2"}} 
[2025-11-17 05:34:15] local.INFO: Received date: 17/11/25 Monday  
[2025-11-17 05:34:15] local.INFO: Test records fetched: 1  
[2025-11-17 05:34:15] local.INFO: Test records fetched: [{"id":20,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]  
[2025-11-17 05:34:15] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":20,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":120,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-04-07T09:12:27.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-17 05:34:15] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:34:19] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 05:34:21] local.INFO: assigned weightlifting:  {"_token":"bBZ8yiJjOZrfw0NEwo6IcUyxHWqt454CtXMQQc1g","workout_id":"19","workout_type":"conditioning","date":"17/11/25 Monday","assigned":"1","class_id":"58"} 
[2025-11-17 05:34:23] local.INFO: Day received: {"day":"17/11/25 Monday"} 
[2025-11-17 09:19:56] local.INFO: storestrengthdaily function called.  
[2025-11-17 09:19:56] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-11-17 09:19:56] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":67,"reps":2,"weight":21.25,"selected_day":"17/11/2025 Monday"},{"set_number":2,"strength_id":67,"reps":2,"weight":25.75,"selected_day":"17/11/2025 Monday"},{"set_number":3,"strength_id":67,"reps":2,"weight":30.25,"selected_day":"17/11/2025 Monday"}]} 
[2025-11-17 09:19:56] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-11-17 09:19:56] local.INFO: New strength record created {"strength_id":67,"set_number":1} 
[2025-11-17 09:19:56] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-11-17 09:19:56] local.INFO: New strength record created {"strength_id":67,"set_number":2} 
[2025-11-17 09:19:56] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-11-17 09:19:56] local.INFO: New strength record created {"strength_id":67,"set_number":3} 
[2025-11-17 11:10:15] local.INFO: storestrengthdaily function called.  
[2025-11-17 11:10:15] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-11-17 11:10:15] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":67,"reps":2,"weight":21.25,"selected_day":"17/11/2025 Monday"},{"set_number":2,"strength_id":67,"reps":2,"weight":25.75,"selected_day":"17/11/2025 Monday"},{"set_number":3,"strength_id":67,"reps":2,"weight":30.25,"selected_day":"17/11/2025 Monday"}]} 
[2025-11-17 11:10:15] local.INFO: Existing strength record: {"dailyStrength":{"id":20,"member_id":2,"strength_id":67,"type":"Primary","reps":2,"weight":"21.25","date":"17/11/2025 Monday","created_at":"2025-11-17T09:19:56.000000Z","updated_at":"2025-11-17T09:19:56.000000Z","set_number":1}} 
[2025-11-17 11:10:15] local.INFO: Strength updated {"strength_id":67,"set_number":1} 
[2025-11-17 11:10:15] local.INFO: Existing strength record: {"dailyStrength":{"id":21,"member_id":2,"strength_id":67,"type":"Primary","reps":2,"weight":"25.75","date":"17/11/2025 Monday","created_at":"2025-11-17T09:19:56.000000Z","updated_at":"2025-11-17T09:19:56.000000Z","set_number":2}} 
[2025-11-17 11:10:15] local.INFO: Strength updated {"strength_id":67,"set_number":2} 
[2025-11-17 11:10:15] local.INFO: Existing strength record: {"dailyStrength":{"id":22,"member_id":2,"strength_id":67,"type":"Primary","reps":2,"weight":"30.25","date":"17/11/2025 Monday","created_at":"2025-11-17T09:19:56.000000Z","updated_at":"2025-11-17T09:19:56.000000Z","set_number":3}} 
[2025-11-17 11:10:15] local.INFO: Strength updated {"strength_id":67,"set_number":3} 
[2025-11-19 06:31:35] local.ERROR: Method App\Http\Controllers\UserProfileController::updateMemberProfile does not exist. {"userId":2,"exception":"[object] (BadMethodCallException(code: 0): Method App\\Http\\Controllers\\UserProfileController::updateMemberProfile does not exist. at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:68)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Illuminate\\Routing\\Controller->__call('updateMemberPro...', Array)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('updateMemberPro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\UserProfileController), 'updateMemberPro...')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(159): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(125): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest(Object(Illuminate\\Http\\Request), Object(Closure), Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(87): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter(Object(Illuminate\\Http\\Request), Object(Closure), 'api', Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'api')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'sanctum')
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#39 {main}
"} 
[2025-11-19 06:46:54] local.ERROR: Method App\Http\Controllers\UserProfileController::updateMemberProfile does not exist. {"userId":2,"exception":"[object] (BadMethodCallException(code: 0): Method App\\Http\\Controllers\\UserProfileController::updateMemberProfile does not exist. at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:68)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Illuminate\\Routing\\Controller->__call('updateMemberPro...', Array)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('updateMemberPro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\UserProfileController), 'updateMemberPro...')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(159): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(125): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest(Object(Illuminate\\Http\\Request), Object(Closure), Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(87): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter(Object(Illuminate\\Http\\Request), Object(Closure), 'api', Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'api')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'sanctum')
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#39 {main}
"} 
[2025-11-19 06:55:55] local.ERROR: Method App\Http\Controllers\UserProfileController::updateMemberProfile does not exist. {"userId":2,"exception":"[object] (BadMethodCallException(code: 0): Method App\\Http\\Controllers\\UserProfileController::updateMemberProfile does not exist. at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:68)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Illuminate\\Routing\\Controller->__call('updateMemberPro...', Array)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('updateMemberPro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\UserProfileController), 'updateMemberPro...')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(159): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(125): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest(Object(Illuminate\\Http\\Request), Object(Closure), Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(87): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter(Object(Illuminate\\Http\\Request), Object(Closure), 'api', Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'api')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'sanctum')
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#39 {main}
"} 
[2025-11-19 08:35:11] local.INFO: getData function called.  
[2025-11-19 08:35:11] local.INFO: Date received: 19/11/25 Wednesday  
[2025-11-19 08:35:11] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-11-19 08:35:11] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:29:54.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-11-19 08:35:11] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-11-19 08:35:11] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-11-19 08:35:11] local.INFO: All Details:  
[2025-11-19 08:35:11] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-11-19 08:35:20] local.INFO: getData function called.  
[2025-11-19 08:35:20] local.INFO: Date received: 19/11/25 Wednesday  
[2025-11-19 08:35:20] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-11-19 08:35:20] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":70,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:29:54.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-11-19 08:35:20] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-11-19 08:35:20] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-11-19 08:35:20] local.INFO: All Details:  
[2025-11-19 08:35:20] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-11-20 08:10:39] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:10:39] local.INFO: Tab value: warmup  
[2025-11-20 08:10:39] local.INFO: Tab value: strength  
[2025-11-20 08:10:39] local.INFO: Tab value: conditioning  
[2025-11-20 08:10:39] local.INFO: Tab value: weightlifting  
[2025-11-20 08:10:39] local.INFO: Tab value: test  
[2025-11-20 08:10:39] local.INFO: Tab value: test  
[2025-11-20 08:10:39] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:10:40] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-20 08:10:50] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:10:51] local.INFO: Tab value: warmup  
[2025-11-20 08:10:51] local.INFO: Tab value: strength  
[2025-11-20 08:10:51] local.INFO: Tab value: conditioning  
[2025-11-20 08:10:51] local.INFO: Tab value: weightlifting  
[2025-11-20 08:10:51] local.INFO: Tab value: test  
[2025-11-20 08:10:51] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-20 08:10:51] local.INFO: Tab value: test  
[2025-11-20 08:10:51] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:11:04] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:11:05] local.INFO: Tab value: conditioning  
[2025-11-20 08:11:05] local.INFO: Tab value: warmup  
[2025-11-20 08:11:05] local.INFO: Tab value: strength  
[2025-11-20 08:11:05] local.INFO: Tab value: test  
[2025-11-20 08:11:05] local.INFO: Tab value: test  
[2025-11-20 08:11:05] local.INFO: Tab value: weightlifting  
[2025-11-20 08:11:05] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-20 08:11:05] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:11:17] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:11:18] local.INFO: Tab value: warmup  
[2025-11-20 08:11:18] local.INFO: Tab value: conditioning  
[2025-11-20 08:11:18] local.INFO: Tab value: strength  
[2025-11-20 08:11:18] local.INFO: Tab value: test  
[2025-11-20 08:11:18] local.INFO: Tab value: weightlifting  
[2025-11-20 08:11:18] local.INFO: Tab value: test  
[2025-11-20 08:11:18] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-20 08:11:18] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:11:37] local.INFO: Incoming Warmup Request Data:  {"_token":"s9dxhkxuVK8Imroww3M0FcoIFR9QtK8N2KeIGAv6","selectdatew":"20/11/25 Thursday","namew_2":null,"warmup_id":null,"namew_1":"warmup01","categoryw_1":"1","workoutw_1":"106","repsw_1":"2","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-20 08:11:37] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup01","categoryw_1":"1","workoutw_1":"106","repsw_1":"2","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-20 08:11:37] local.INFO: Warmup entry saved with ID: 26  
[2025-11-20 08:11:37] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-11-20 08:11:42] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:11:42] local.INFO: Tab value: warmup  
[2025-11-20 08:11:42] local.INFO: Tab value: strength  
[2025-11-20 08:11:43] local.INFO: Tab value: test  
[2025-11-20 08:11:43] local.INFO: Tab value: conditioning  
[2025-11-20 08:11:43] local.INFO: Tab value: weightlifting  
[2025-11-20 08:11:43] local.INFO: Tab value: test  
[2025-11-20 08:11:43] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-20 08:11:43] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:11:52] local.INFO: Incoming Warmup Request Data:  {"_token":"s9dxhkxuVK8Imroww3M0FcoIFR9QtK8N2KeIGAv6","selectdatew":"20/11/25 Thursday","namew_2":null,"warmup_id":null,"namew_1":"warmup01","categoryw_1":"2","workoutw_1":"110","repsw_1":"2","unit_1":"/10","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-20 08:11:52] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup01","categoryw_1":"2","workoutw_1":"110","repsw_1":"2","unit_1":"/10","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-20 08:11:52] local.INFO: Warmup entry saved with ID: 27  
[2025-11-20 08:11:52] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-11-20 08:12:00] local.INFO: assigned weightlifting:  {"_token":"s9dxhkxuVK8Imroww3M0FcoIFR9QtK8N2KeIGAv6","workout_id":"26","workout_type":"warmup","date":"20/11/25 Thursday","assigned":"1","class_id":"62"} 
[2025-11-20 08:12:01] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:12:06] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:12:07] local.INFO: Tab value: warmup  
[2025-11-20 08:12:07] local.INFO: Tab value: strength  
[2025-11-20 08:12:07] local.INFO: Tab value: conditioning  
[2025-11-20 08:12:07] local.INFO: Tab value: weightlifting  
[2025-11-20 08:12:07] local.INFO: Tab value: test  
[2025-11-20 08:12:07] local.INFO: Tab value: test  
[2025-11-20 08:12:07] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-20 08:12:07] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:12:11] local.INFO: assigned weightlifting:  {"_token":"s9dxhkxuVK8Imroww3M0FcoIFR9QtK8N2KeIGAv6","workout_id":"27","workout_type":"warmup","date":"20/11/25 Thursday","assigned":"1","class_id":"63"} 
[2025-11-20 08:12:12] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:12:15] local.INFO: Received date: 20/11/25 Thursday  
[2025-11-20 08:12:15] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-11-20 08:12:15] local.INFO: Strength records fetched: 0  
[2025-11-20 08:12:15] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-20 08:12:15] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:12:42] local.INFO: Received request data: {"_token":"s9dxhkxuVK8Imroww3M0FcoIFR9QtK8N2KeIGAv6","selectdates":"20/11/25 Thursday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"30","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"3","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"high"} 
[2025-11-20 08:12:42] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"30","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"3","sets_13":"3","reps_13":"3","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"high"} 
[2025-11-20 08:12:42] local.INFO: Created Strength ID {"id":68} 
[2025-11-20 08:12:42] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"strength_id":68} 
[2025-11-20 08:12:43] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"strength_id":68} 
[2025-11-20 08:12:43] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"3","alt_set":null,"alt_reps":null,"strength_id":68} 
[2025-11-20 08:12:45] local.INFO: Received date: 20/11/25 Thursday  
[2025-11-20 08:12:45] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":68,"category_id":9,"workout_id":125,"weight":30.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"20/11/25 Thursday","created_at":"2025-11-20T08:12:42.000000Z","updated_at":"2025-11-20T08:12:42.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":153,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":68,"created_at":"2025-11-20T08:12:42.000000Z","updated_at":"2025-11-20T08:12:42.000000Z"},{"id":154,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":68,"created_at":"2025-11-20T08:12:43.000000Z","updated_at":"2025-11-20T08:12:43.000000Z"},{"id":155,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":68,"created_at":"2025-11-20T08:12:43.000000Z","updated_at":"2025-11-20T08:12:43.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-20 08:12:45] local.INFO: Strength records fetched: 1  
[2025-11-20 08:12:45] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":68,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"strength01","weight":30.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"20/11/25 Thursday","sets":[{"id":153,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":68,"created_at":"2025-11-20T08:12:42.000000Z","updated_at":"2025-11-20T08:12:42.000000Z"},{"id":154,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":68,"created_at":"2025-11-20T08:12:43.000000Z","updated_at":"2025-11-20T08:12:43.000000Z"},{"id":155,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":68,"created_at":"2025-11-20T08:12:43.000000Z","updated_at":"2025-11-20T08:12:43.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-20 08:12:45] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:12:48] local.INFO: assigned weightlifting:  {"_token":"s9dxhkxuVK8Imroww3M0FcoIFR9QtK8N2KeIGAv6","workout_id":"68","workout_type":"strength","date":"20/11/25 Thursday","assigned":"1","class_id":"62"} 
[2025-11-20 08:12:50] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:12:51] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:12:51] local.INFO: return Weightlifting Request Data:   
[2025-11-20 08:13:26] local.INFO: Incoming Weightlifting Request Data:  {"_token":"s9dxhkxuVK8Imroww3M0FcoIFR9QtK8N2KeIGAv6","selectdatewe":"20/11/25 Thursday","namewe_2":null,"weightlifting_id":null,"namewe_1":"weight01","categorywe_1":"9","workoutwe_1":"126","unitwe_1":"%","weigthwe_1":"50","setwid_1":null,"setswe_1":"1","repswe_1":"4","setswe_12":"2","repswe_12":"4","setswe_13":"3","repswe_13":"4","setswe_14":"4","repswe_14":"4","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"extreme"} 
[2025-11-20 08:13:26] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"weight01","categorywe_1":"9","workoutwe_1":"126","unitwe_1":"%","weigthwe_1":"50","setwid_1":null,"setswe_1":"1","repswe_1":"4","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"extreme"} 
[2025-11-20 08:13:26] local.INFO: message for weightlifting data {"category":"9","workout":"126","name":"weight01","weigth":"50","unit":"%","restred":"00:00:15","restgreen":"00:00:15","restyellow":"00:00:15","intensity":"extreme","date":"20/11/25 Thursday"} 
[2025-11-20 08:13:26] local.INFO: Created Weightlifting ID {"id":14} 
[2025-11-20 08:13:26] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"weightlifting_id":14} 
[2025-11-20 08:13:26] local.INFO: Saving WeightliftingSet row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"weightlifting_id":14} 
[2025-11-20 08:13:26] local.INFO: Saving WeightliftingSet row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"weightlifting_id":14} 
[2025-11-20 08:13:26] local.INFO: Saving WeightliftingSet row {"sets":"4","reps":"4","alt_set":null,"alt_reps":null,"weightlifting_id":14} 
[2025-11-20 08:13:28] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:13:28] local.INFO: return Weightlifting Request Data:  [{"id":14,"category_id":9,"category_name":"Horizontal Press","workoutname":"weight01","workout_id":126,"workout_type":"Bench","weight":50.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"extreme","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"20/11/25 Thursday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":26,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":14,"created_at":"2025-11-20T08:13:26.000000Z","updated_at":"2025-11-20T08:13:26.000000Z"},{"id":27,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":14,"created_at":"2025-11-20T08:13:26.000000Z","updated_at":"2025-11-20T08:13:26.000000Z"},{"id":28,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":14,"created_at":"2025-11-20T08:13:26.000000Z","updated_at":"2025-11-20T08:13:26.000000Z"},{"id":29,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"weightlifting_id":14,"created_at":"2025-11-20T08:13:26.000000Z","updated_at":"2025-11-20T08:13:26.000000Z"}]}}] 
[2025-11-20 08:13:33] local.INFO: assigned weightlifting:  {"_token":"s9dxhkxuVK8Imroww3M0FcoIFR9QtK8N2KeIGAv6","class_id":"62","workout_id":"14","workout_type":"weightlifting","date":"20/11/25 Thursday","assigned":"1"} 
[2025-11-20 08:13:34] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:13:36] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:13:54] local.INFO: Incoming Conditioning Request Data:  {"_token":"s9dxhkxuVK8Imroww3M0FcoIFR9QtK8N2KeIGAv6","selectdatec":"20/11/25 Thursday","rounds":null,"conditioning_id":null,"namec_1":"ccc01","timeTC_1":"04:00","rounds_1":null,"pyramidCheckboxCon":"on","pyramidSet_1":"1","reps_1":"3","unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"3","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-20 08:13:54] local.INFO: Processed Conditioning Data: {"namec_1":"ccc01","timeTC_1":"04:00","rounds_1":null,"pyramidSet_1":"1","reps_1":"3","unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"3","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-20 08:13:54] local.INFO: Created Conditioning ID {"id":20} 
[2025-11-20 08:13:54] local.INFO: Saving PyramidSet row: {"sets":null,"reps":"3","unit":"/10","pyramidweight":"5","pyramidmale":null,"pyramidfemale":null,"conditioning_id":20} 
[2025-11-20 08:13:56] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:14:00] local.INFO: assigned weightlifting:  {"_token":"s9dxhkxuVK8Imroww3M0FcoIFR9QtK8N2KeIGAv6","workout_id":"20","workout_type":"conditioning","date":"20/11/25 Thursday","assigned":"1","class_id":"62"} 
[2025-11-20 08:14:01] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:14:04] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-20 08:14:04] local.INFO: Received date: 20/11/25 Thursday  
[2025-11-20 08:14:04] local.INFO: Test records fetched: 0  
[2025-11-20 08:14:04] local.INFO: Test records fetched: []  
[2025-11-20 08:14:04] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-20 08:14:15] local.INFO: Test Request Data dd: {"request":{"_token":"s9dxhkxuVK8Imroww3M0FcoIFR9QtK8N2KeIGAv6","selectdatet":"20/11/25 Thursday","test_id":null,"namet_1":"test01","test-category_1":"9","test-workout_1":"125","test-member_1":"2"}} 
[2025-11-20 08:14:16] local.INFO: Received date: 20/11/25 Thursday  
[2025-11-20 08:14:16] local.INFO: Test records fetched: 1  
[2025-11-20 08:14:16] local.INFO: Test records fetched: [{"id":21,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]  
[2025-11-20 08:14:16] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":21,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-20 08:14:17] local.INFO: Day received: {"day":"20/11/25 Thursday"} 
[2025-11-24 09:47:05] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:47:05] local.INFO: Tab value: warmup  
[2025-11-24 09:47:05] local.INFO: Tab value: test  
[2025-11-24 09:47:05] local.INFO: Tab value: strength  
[2025-11-24 09:47:05] local.INFO: Tab value: conditioning  
[2025-11-24 09:47:05] local.INFO: Tab value: weightlifting  
[2025-11-24 09:47:05] local.INFO: Tab value: test  
[2025-11-24 09:47:05] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:47:06] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-24 09:47:32] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:47:33] local.INFO: Tab value: warmup  
[2025-11-24 09:47:33] local.INFO: Tab value: conditioning  
[2025-11-24 09:47:33] local.INFO: Tab value: strength  
[2025-11-24 09:47:33] local.INFO: Tab value: test  
[2025-11-24 09:47:33] local.INFO: Tab value: weightlifting  
[2025-11-24 09:47:33] local.INFO: Tab value: test  
[2025-11-24 09:47:33] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-24 09:47:34] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:48:01] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:48:01] local.INFO: Tab value: strength  
[2025-11-24 09:48:01] local.INFO: Tab value: warmup  
[2025-11-24 09:48:01] local.INFO: Tab value: conditioning  
[2025-11-24 09:48:01] local.INFO: Tab value: test  
[2025-11-24 09:48:01] local.INFO: Tab value: test  
[2025-11-24 09:48:01] local.INFO: Tab value: weightlifting  
[2025-11-24 09:48:01] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:48:01] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-24 09:48:15] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:48:17] local.INFO: Tab value: warmup  
[2025-11-24 09:48:17] local.INFO: Tab value: conditioning  
[2025-11-24 09:48:17] local.INFO: Tab value: weightlifting  
[2025-11-24 09:48:17] local.INFO: Tab value: strength  
[2025-11-24 09:48:17] local.INFO: Tab value: test  
[2025-11-24 09:48:17] local.INFO: Tab value: test  
[2025-11-24 09:48:17] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-24 09:48:18] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:48:26] local.INFO: Incoming Warmup Request Data:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","selectdatew":"24/11/25 Monday","namew_2":null,"warmup_id":null,"namew_1":"warmup01","categoryw_1":"4","workoutw_1":"114","repsw_1":"3","unit_1":"/10","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-24 09:48:26] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup01","categoryw_1":"4","workoutw_1":"114","repsw_1":"3","unit_1":"/10","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-24 09:48:26] local.INFO: Warmup entry saved with ID: 28  
[2025-11-24 09:48:26] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-11-24 09:48:41] local.INFO: Incoming Warmup Request Data:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","selectdatew":"24/11/25 Monday","namew_2":null,"warmup_id":null,"namew_1":"warmup02","categoryw_1":"5","workoutw_1":"116","repsw_1":"4","unit_1":"/10","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-24 09:48:41] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup02","categoryw_1":"5","workoutw_1":"116","repsw_1":"4","unit_1":"/10","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-24 09:48:41] local.INFO: Warmup entry saved with ID: 29  
[2025-11-24 09:48:41] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-11-24 09:48:57] local.INFO: Incoming Warmup Request Data:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","selectdatew":"24/11/25 Monday","namew_2":null,"warmup_id":null,"namew_1":"warmup03","categoryw_1":"3","workoutw_1":"112","repsw_1":"3","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-24 09:48:57] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup03","categoryw_1":"3","workoutw_1":"112","repsw_1":"3","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-24 09:48:57] local.INFO: Warmup entry saved with ID: 30  
[2025-11-24 09:48:57] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-11-24 09:49:06] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:49:06] local.INFO: Tab value: warmup  
[2025-11-24 09:49:06] local.INFO: Tab value: conditioning  
[2025-11-24 09:49:06] local.INFO: Tab value: strength  
[2025-11-24 09:49:07] local.INFO: Tab value: weightlifting  
[2025-11-24 09:49:07] local.INFO: Tab value: test  
[2025-11-24 09:49:07] local.INFO: Tab value: test  
[2025-11-24 09:49:07] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-24 09:49:07] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:49:11] local.INFO: assigned weightlifting:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","workout_id":"28","workout_type":"warmup","date":"24/11/25 Monday","assigned":"1","class_id":"65"} 
[2025-11-24 09:49:13] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:49:16] local.INFO: assigned weightlifting:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","workout_id":"29","workout_type":"warmup","date":"24/11/25 Monday","assigned":"1","class_id":"66"} 
[2025-11-24 09:49:17] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:49:20] local.INFO: assigned weightlifting:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","workout_id":"30","workout_type":"warmup","date":"24/11/25 Monday","assigned":"1","class_id":"67"} 
[2025-11-24 09:49:22] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:49:24] local.INFO: Received date: 24/11/25 Monday  
[2025-11-24 09:49:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-11-24 09:49:24] local.INFO: Strength records fetched: 0  
[2025-11-24 09:49:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-24 09:49:24] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:49:58] local.INFO: Received request data: {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","selectdates":"24/11/25 Monday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"60","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","sets_14":"4","reps_14":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"high"} 
[2025-11-24 09:49:58] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"60","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","sets_14":"4","reps_14":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"high"} 
[2025-11-24 09:49:58] local.INFO: Created Strength ID {"id":69} 
[2025-11-24 09:49:58] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":69} 
[2025-11-24 09:49:58] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"strength_id":69} 
[2025-11-24 09:49:59] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"2","alt_set":null,"alt_reps":null,"strength_id":69} 
[2025-11-24 09:49:59] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"2","alt_set":null,"alt_reps":null,"strength_id":69} 
[2025-11-24 09:50:01] local.INFO: Received date: 24/11/25 Monday  
[2025-11-24 09:50:01] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":69,"category_id":9,"workout_id":125,"weight":60.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"24/11/25 Monday","created_at":"2025-11-24T09:49:58.000000Z","updated_at":"2025-11-24T09:49:58.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":156,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:58.000000Z","updated_at":"2025-11-24T09:49:58.000000Z"},{"id":157,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:58.000000Z","updated_at":"2025-11-24T09:49:58.000000Z"},{"id":158,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:59.000000Z","updated_at":"2025-11-24T09:49:59.000000Z"},{"id":159,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:59.000000Z","updated_at":"2025-11-24T09:49:59.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-24 09:50:01] local.INFO: Strength records fetched: 1  
[2025-11-24 09:50:01] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":69,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"strength01","weight":60.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"24/11/25 Monday","sets":[{"id":156,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:58.000000Z","updated_at":"2025-11-24T09:49:58.000000Z"},{"id":157,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:58.000000Z","updated_at":"2025-11-24T09:49:58.000000Z"},{"id":158,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:59.000000Z","updated_at":"2025-11-24T09:49:59.000000Z"},{"id":159,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:59.000000Z","updated_at":"2025-11-24T09:49:59.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-24 09:50:01] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:50:04] local.INFO: assigned weightlifting:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","workout_id":"69","workout_type":"strength","date":"24/11/25 Monday","assigned":"1","class_id":"65"} 
[2025-11-24 09:50:05] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:50:07] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:50:07] local.INFO: return Weightlifting Request Data:   
[2025-11-24 09:50:39] local.INFO: Incoming Weightlifting Request Data:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","selectdatewe":"24/11/25 Monday","namewe_2":null,"weightlifting_id":null,"namewe_1":"weight01","categorywe_1":"9","workoutwe_1":"126","unitwe_1":"%","weigthwe_1":"90","setwid_1":null,"setswe_1":"1","repswe_1":"3","setswe_12":"2","repswe_12":"3","setswe_13":"3","repswe_13":"3","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"high"} 
[2025-11-24 09:50:39] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"weight01","categorywe_1":"9","workoutwe_1":"126","unitwe_1":"%","weigthwe_1":"90","setwid_1":null,"setswe_1":"1","repswe_1":"3","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"high"} 
[2025-11-24 09:50:39] local.INFO: message for weightlifting data {"category":"9","workout":"126","name":"weight01","weigth":"90","unit":"%","restred":"00:00:15","restgreen":"00:00:15","restyellow":"00:00:15","intensity":"high","date":"24/11/25 Monday"} 
[2025-11-24 09:50:39] local.INFO: Created Weightlifting ID {"id":15} 
[2025-11-24 09:50:39] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":15} 
[2025-11-24 09:50:39] local.INFO: Saving WeightliftingSet row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":15} 
[2025-11-24 09:50:39] local.INFO: Saving WeightliftingSet row {"sets":"3","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":15} 
[2025-11-24 09:50:41] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:50:41] local.INFO: return Weightlifting Request Data:  [{"id":15,"category_id":9,"category_name":"Horizontal Press","workoutname":"weight01","workout_id":126,"workout_type":"Bench","weight":90.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"24/11/25 Monday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":15,"created_at":"2025-11-24T09:50:39.000000Z","updated_at":"2025-11-24T09:50:39.000000Z"},{"id":31,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":15,"created_at":"2025-11-24T09:50:39.000000Z","updated_at":"2025-11-24T09:50:39.000000Z"},{"id":32,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":15,"created_at":"2025-11-24T09:50:39.000000Z","updated_at":"2025-11-24T09:50:39.000000Z"}]}}] 
[2025-11-24 09:50:45] local.INFO: assigned weightlifting:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","class_id":"65","workout_id":"15","workout_type":"weightlifting","date":"24/11/25 Monday","assigned":"1"} 
[2025-11-24 09:50:46] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:50:48] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:51:03] local.INFO: Incoming Conditioning Request Data:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","selectdatec":"24/11/25 Monday","rounds":null,"conditioning_id":null,"namec_1":"ccc01","timeTC_1":"04:00","rounds_1":null,"pyramidCheckboxCon":"on","pyramidSet_1":"1","reps_1":null,"unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"1","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-24 09:51:03] local.INFO: Processed Conditioning Data: {"namec_1":"ccc01","timeTC_1":"04:00","rounds_1":null,"pyramidSet_1":"1","reps_1":null,"unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"98","repsc_1":"1","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-11-24 09:51:03] local.INFO: Created Conditioning ID {"id":21} 
[2025-11-24 09:51:03] local.INFO: Saving PyramidSet row: {"sets":null,"reps":null,"unit":"/10","pyramidweight":"5","pyramidmale":null,"pyramidfemale":null,"conditioning_id":21} 
[2025-11-24 09:51:05] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:51:24] local.INFO: Incoming Conditioning Request Data:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","selectdatec":"24/11/25 Monday","rounds":null,"conditioning_id":null,"namec_1":"ccc02","timeTC_1":"04:00","rounds_1":null,"pyramidCheckboxCon":"on","pyramidSet_1":"1","reps_1":"4","unit_1":"/10","weigthPy_1":"8","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"99","repsc_1":"3","weigthc_1":"8","male_1":null,"female_1":null} 
[2025-11-24 09:51:24] local.INFO: Processed Conditioning Data: {"namec_1":"ccc02","timeTC_1":"04:00","rounds_1":null,"pyramidSet_1":"1","reps_1":"4","unit_1":"/10","weigthPy_1":"8","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"99","repsc_1":"3","weigthc_1":"8","male_1":null,"female_1":null} 
[2025-11-24 09:51:24] local.INFO: Created Conditioning ID {"id":22} 
[2025-11-24 09:51:24] local.INFO: Saving PyramidSet row: {"sets":null,"reps":"4","unit":"/10","pyramidweight":"8","pyramidmale":null,"pyramidfemale":null,"conditioning_id":22} 
[2025-11-24 09:51:26] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:51:29] local.INFO: assigned weightlifting:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","workout_id":"22","workout_type":"conditioning","date":"24/11/25 Monday","assigned":"1","class_id":"66"} 
[2025-11-24 09:51:31] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:51:33] local.INFO: assigned weightlifting:  {"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","workout_id":"21","workout_type":"conditioning","date":"24/11/25 Monday","assigned":"1","class_id":"65"} 
[2025-11-24 09:51:35] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:51:48] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:51:48] local.INFO: return Weightlifting Request Data:  [{"id":15,"category_id":9,"category_name":"Horizontal Press","workoutname":"weight01","workout_id":126,"workout_type":"Bench","weight":90.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"24/11/25 Monday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":30,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":15,"created_at":"2025-11-24T09:50:39.000000Z","updated_at":"2025-11-24T09:50:39.000000Z"},{"id":31,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":15,"created_at":"2025-11-24T09:50:39.000000Z","updated_at":"2025-11-24T09:50:39.000000Z"},{"id":32,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":15,"created_at":"2025-11-24T09:50:39.000000Z","updated_at":"2025-11-24T09:50:39.000000Z"}]}}] 
[2025-11-24 09:51:50] local.INFO: Received date: 24/11/25 Monday  
[2025-11-24 09:51:50] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:51:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":69,"category_id":9,"workout_id":125,"weight":60.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"24/11/25 Monday","created_at":"2025-11-24T09:49:58.000000Z","updated_at":"2025-11-24T09:50:04.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":156,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:58.000000Z","updated_at":"2025-11-24T09:49:58.000000Z"},{"id":157,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:58.000000Z","updated_at":"2025-11-24T09:49:58.000000Z"},{"id":158,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:59.000000Z","updated_at":"2025-11-24T09:49:59.000000Z"},{"id":159,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:59.000000Z","updated_at":"2025-11-24T09:49:59.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-24 09:51:50] local.INFO: Strength records fetched: 1  
[2025-11-24 09:51:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":69,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"strength01","weight":60.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"24/11/25 Monday","sets":[{"id":156,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:58.000000Z","updated_at":"2025-11-24T09:49:58.000000Z"},{"id":157,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:58.000000Z","updated_at":"2025-11-24T09:49:58.000000Z"},{"id":158,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:59.000000Z","updated_at":"2025-11-24T09:49:59.000000Z"},{"id":159,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":69,"created_at":"2025-11-24T09:49:59.000000Z","updated_at":"2025-11-24T09:49:59.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-24 09:51:51] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:51:51] local.INFO: Received date: 24/11/25 Monday  
[2025-11-24 09:51:51] local.INFO: Test records fetched: 0  
[2025-11-24 09:51:51] local.INFO: Test records fetched: []  
[2025-11-24 09:51:51] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-24 09:52:06] local.INFO: Test Request Data dd: {"request":{"_token":"kdTjBQu6lEfjJuPwMZ2cb3s5Dyb9kALx5NTqfRxM","selectdatet":"24/11/25 Monday","test_id":null,"namet_1":"test01","test-category_1":"9","test-workout_1":"118","test-member_1":"2"}} 
[2025-11-24 09:52:08] local.INFO: Received date: 24/11/25 Monday  
[2025-11-24 09:52:08] local.INFO: Day received: {"day":"24/11/25 Monday"} 
[2025-11-24 09:52:08] local.INFO: Test records fetched: 1  
[2025-11-24 09:52:08] local.INFO: Test records fetched: [{"id":22,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]  
[2025-11-24 09:52:08] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":22,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":2,"member_name":"Test","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-24 09:58:32] local.INFO: storeweightliftingdaily function called.  
[2025-11-24 09:58:32] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-11-24 09:58:32] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"set_number":1,"weightlifting_id":15,"reps":3,"weight":55.5,"selected_day":"24/11/2025 Monday"},{"set_number":2,"weightlifting_id":15,"reps":3,"weight":67.25,"selected_day":"24/11/2025 Monday"},{"set_number":3,"weightlifting_id":15,"reps":3,"weight":79.25,"selected_day":"24/11/2025 Monday"}]} 
[2025-11-24 09:58:32] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-11-24 09:58:32] local.INFO: New weightlifting record created {"weightlifting_id":15,"set_number":1} 
[2025-11-24 09:58:32] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-11-24 09:58:32] local.INFO: New weightlifting record created {"weightlifting_id":15,"set_number":2} 
[2025-11-24 09:58:32] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-11-24 09:58:32] local.INFO: New weightlifting record created {"weightlifting_id":15,"set_number":3} 
[2025-11-26 10:56:08] local.INFO: getData function called.  
[2025-11-26 10:56:08] local.INFO: Date received: 26/11/25 Wednesday  
[2025-11-26 10:56:08] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-11-26 10:56:08] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-11-26 10:56:08] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-11-26 10:56:08] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-11-26 10:56:08] local.INFO: All Details:  
[2025-11-26 10:56:08] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-11-27 01:49:02] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:49:02] local.INFO: Tab value: warmup  
[2025-11-27 01:49:02] local.INFO: Tab value: conditioning  
[2025-11-27 01:49:02] local.INFO: Tab value: strength  
[2025-11-27 01:49:02] local.INFO: Tab value: weightlifting  
[2025-11-27 01:49:02] local.INFO: Tab value: test  
[2025-11-27 01:49:02] local.INFO: Tab value: test  
[2025-11-27 01:49:02] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-27 01:49:03] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:49:18] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:49:18] local.INFO: Tab value: warmup  
[2025-11-27 01:49:18] local.INFO: Tab value: strength  
[2025-11-27 01:49:18] local.INFO: Tab value: conditioning  
[2025-11-27 01:49:18] local.INFO: Tab value: weightlifting  
[2025-11-27 01:49:18] local.INFO: Tab value: test  
[2025-11-27 01:49:18] local.INFO: Tab value: test  
[2025-11-27 01:49:19] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-27 01:49:19] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:49:47] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:49:47] local.INFO: Tab value: warmup  
[2025-11-27 01:49:47] local.INFO: Tab value: strength  
[2025-11-27 01:49:47] local.INFO: Tab value: conditioning  
[2025-11-27 01:49:48] local.INFO: Tab value: weightlifting  
[2025-11-27 01:49:48] local.INFO: Tab value: test  
[2025-11-27 01:49:48] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-27 01:49:48] local.INFO: Tab value: test  
[2025-11-27 01:49:48] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:50:10] local.INFO: Incoming Warmup Request Data:  {"_token":"1xPp3QuZYGzCMSBSOeA87owPLW10MYJX1RQzrXrv","selectdatew":"27/11/25 Thursday","namew_2":null,"warmup_id":null,"namew_1":"warmup01","categoryw_1":"5","workoutw_1":"116","repsw_1":"2","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-27 01:50:10] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup01","categoryw_1":"5","workoutw_1":"116","repsw_1":"2","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-11-27 01:50:11] local.INFO: Warmup entry saved with ID: 31  
[2025-11-27 01:50:11] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-11-27 01:50:15] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:50:16] local.INFO: Tab value: warmup  
[2025-11-27 01:50:16] local.INFO: Tab value: strength  
[2025-11-27 01:50:16] local.INFO: Tab value: conditioning  
[2025-11-27 01:50:16] local.INFO: Tab value: weightlifting  
[2025-11-27 01:50:16] local.INFO: Tab value: test  
[2025-11-27 01:50:16] local.INFO: Tab value: test  
[2025-11-27 01:50:16] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-27 01:50:16] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:50:16] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:50:26] local.INFO: assigned weightlifting:  {"_token":"1xPp3QuZYGzCMSBSOeA87owPLW10MYJX1RQzrXrv","workout_id":"31","workout_type":"warmup","date":"27/11/25 Thursday","assigned":"1","class_id":"68"} 
[2025-11-27 01:50:28] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:50:59] local.INFO: Received date: 27/11/25 Thursday  
[2025-11-27 01:50:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-11-27 01:50:59] local.INFO: Strength records fetched: 0  
[2025-11-27 01:50:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-27 01:50:59] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:51:26] local.INFO: Received request data: {"_token":"1xPp3QuZYGzCMSBSOeA87owPLW10MYJX1RQzrXrv","selectdates":"27/11/25 Thursday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"1","workouts_1":"33","unit_1":"%","weigths_1":"50","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-11-27 01:51:26] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"1","workouts_1":"33","unit_1":"%","weigths_1":"50","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-11-27 01:51:26] local.INFO: Created Strength ID {"id":70} 
[2025-11-27 01:51:26] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":70} 
[2025-11-27 01:51:26] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"strength_id":70} 
[2025-11-27 01:51:26] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"2","alt_set":null,"alt_reps":null,"strength_id":70} 
[2025-11-27 01:51:28] local.INFO: Received date: 27/11/25 Thursday  
[2025-11-27 01:51:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":70,"category_id":1,"workout_id":33,"weight":50.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"27/11/25 Thursday","created_at":"2025-11-27T01:51:26.000000Z","updated_at":"2025-11-27T01:51:26.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},"setstrengthsetsreps":[{"id":160,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":70,"created_at":"2025-11-27T01:51:26.000000Z","updated_at":"2025-11-27T01:51:26.000000Z"},{"id":161,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":70,"created_at":"2025-11-27T01:51:26.000000Z","updated_at":"2025-11-27T01:51:26.000000Z"},{"id":162,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":70,"created_at":"2025-11-27T01:51:26.000000Z","updated_at":"2025-11-27T01:51:26.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-11-27 01:51:28] local.INFO: Strength records fetched: 1  
[2025-11-27 01:51:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":70,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"workout_type":"Banded row","workoutname":"strength01","weight":50.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"27/11/25 Thursday","sets":[{"id":160,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":70,"created_at":"2025-11-27T01:51:26.000000Z","updated_at":"2025-11-27T01:51:26.000000Z"},{"id":161,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":70,"created_at":"2025-11-27T01:51:26.000000Z","updated_at":"2025-11-27T01:51:26.000000Z"},{"id":162,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":70,"created_at":"2025-11-27T01:51:26.000000Z","updated_at":"2025-11-27T01:51:26.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-27 01:51:28] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:51:44] local.INFO: assigned weightlifting:  {"_token":"1xPp3QuZYGzCMSBSOeA87owPLW10MYJX1RQzrXrv","workout_id":"70","workout_type":"strength","date":"27/11/25 Thursday","assigned":"1","class_id":"68"} 
[2025-11-27 01:51:45] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:53:05] local.INFO: storestrengthdaily function called.  
[2025-11-27 01:53:05] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-11-27 01:53:05] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":70,"reps":2,"weight":0,"selected_day":"27/11/2025 Thursday"},{"set_number":2,"strength_id":70,"reps":2,"weight":0,"selected_day":"27/11/2025 Thursday"},{"set_number":3,"strength_id":70,"reps":2,"weight":0,"selected_day":"27/11/2025 Thursday"}]} 
[2025-11-27 01:53:05] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-11-27 01:53:05] local.INFO: New strength record created {"strength_id":70,"set_number":1} 
[2025-11-27 01:53:05] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-11-27 01:53:05] local.INFO: New strength record created {"strength_id":70,"set_number":2} 
[2025-11-27 01:53:05] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-11-27 01:53:05] local.INFO: New strength record created {"strength_id":70,"set_number":3} 
[2025-11-27 01:57:37] local.INFO: Received date: 27/11/25 Thursday  
[2025-11-27 01:57:37] local.INFO: Test records fetched: 0  
[2025-11-27 01:57:37] local.INFO: Test records fetched: []  
[2025-11-27 01:57:37] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-27 01:57:37] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:57:59] local.INFO: Test Request Data dd: {"request":{"_token":"1xPp3QuZYGzCMSBSOeA87owPLW10MYJX1RQzrXrv","selectdatet":"27/11/25 Thursday","test_id":null,"namet_1":"test01","test-category_1":"1","test-workout_1":"33","test-member_1":"2"}} 
[2025-11-27 01:58:01] local.INFO: Received date: 27/11/25 Thursday  
[2025-11-27 01:58:01] local.INFO: Test records fetched: 1  
[2025-11-27 01:58:01] local.INFO: Test records fetched: [{"id":23,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"is_assigned":0,"workout_type":"Banded row","member_id":2,"member_name":"Test","workoutname":"test01"}]  
[2025-11-27 01:58:01] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":23,"category_id":1,"category_name":"Horizontal pull","workout_id":33,"is_assigned":0,"workout_type":"Banded row","member_id":2,"member_name":"Test","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-27 01:58:02] local.INFO: Day received: {"day":"27/11/25 Thursday"} 
[2025-11-27 01:58:33] local.INFO: storestrengthdaily function called.  
[2025-11-27 01:58:33] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-11-27 01:58:33] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":70,"reps":2,"weight":30.75,"selected_day":"27/11/2025 Thursday"},{"set_number":2,"strength_id":70,"reps":2,"weight":37.5,"selected_day":"27/11/2025 Thursday"},{"set_number":3,"strength_id":70,"reps":2,"weight":44,"selected_day":"27/11/2025 Thursday"}]} 
[2025-11-27 01:58:33] local.INFO: Existing strength record: {"dailyStrength":{"id":23,"member_id":2,"strength_id":70,"type":"Primary","reps":2,"weight":"0","date":"27/11/2025 Thursday","created_at":"2025-11-27T01:53:05.000000Z","updated_at":"2025-11-27T01:53:05.000000Z","set_number":1}} 
[2025-11-27 01:58:33] local.INFO: Strength updated {"strength_id":70,"set_number":1} 
[2025-11-27 01:58:33] local.INFO: Existing strength record: {"dailyStrength":{"id":24,"member_id":2,"strength_id":70,"type":"Primary","reps":2,"weight":"0","date":"27/11/2025 Thursday","created_at":"2025-11-27T01:53:05.000000Z","updated_at":"2025-11-27T01:53:05.000000Z","set_number":2}} 
[2025-11-27 01:58:33] local.INFO: Strength updated {"strength_id":70,"set_number":2} 
[2025-11-27 01:58:33] local.INFO: Existing strength record: {"dailyStrength":{"id":25,"member_id":2,"strength_id":70,"type":"Primary","reps":2,"weight":"0","date":"27/11/2025 Thursday","created_at":"2025-11-27T01:53:05.000000Z","updated_at":"2025-11-27T01:53:05.000000Z","set_number":3}} 
[2025-11-27 01:58:33] local.INFO: Strength updated {"strength_id":70,"set_number":3} 
[2025-11-30 03:25:19] local.INFO: Tab value: conditioning  
[2025-11-30 03:25:19] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:25:19] local.INFO: Tab value: warmup  
[2025-11-30 03:25:19] local.INFO: Tab value: strength  
[2025-11-30 03:25:20] local.INFO: Tab value: test  
[2025-11-30 03:25:20] local.INFO: Tab value: weightlifting  
[2025-11-30 03:25:20] local.INFO: Tab value: test  
[2025-11-30 03:25:20] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:25:20] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-30 03:28:37] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:28:37] local.INFO: Tab value: warmup  
[2025-11-30 03:28:38] local.INFO: Tab value: strength  
[2025-11-30 03:28:38] local.INFO: Tab value: conditioning  
[2025-11-30 03:28:38] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-30 03:28:38] local.INFO: Tab value: test  
[2025-11-30 03:28:38] local.INFO: Tab value: test  
[2025-11-30 03:28:38] local.INFO: Tab value: weightlifting  
[2025-11-30 03:28:38] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:30:06] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:30:07] local.INFO: Tab value: warmup  
[2025-11-30 03:30:07] local.INFO: Tab value: strength  
[2025-11-30 03:30:07] local.INFO: Tab value: conditioning  
[2025-11-30 03:30:07] local.INFO: Tab value: test  
[2025-11-30 03:30:07] local.INFO: Tab value: weightlifting  
[2025-11-30 03:30:07] local.INFO: Tab value: test  
[2025-11-30 03:30:07] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-30 03:30:07] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:30:12] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:30:12] local.INFO: Tab value: conditioning  
[2025-11-30 03:30:12] local.INFO: Tab value: test  
[2025-11-30 03:30:12] local.INFO: Tab value: weightlifting  
[2025-11-30 03:30:13] local.INFO: Tab value: test  
[2025-11-30 03:30:13] local.INFO: Tab value: warmup  
[2025-11-30 03:30:13] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-30 03:30:13] local.INFO: Tab value: strength  
[2025-11-30 03:30:13] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:30:15] local.INFO: Tab value: strength  
[2025-11-30 03:30:15] local.INFO: Tab value: warmup  
[2025-11-30 03:30:15] local.INFO: Tab value: conditioning  
[2025-11-30 03:30:15] local.INFO: Tab value: test  
[2025-11-30 03:30:15] local.INFO: Tab value: weightlifting  
[2025-11-30 03:30:15] local.INFO: Tab value: test  
[2025-11-30 03:30:15] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-30 03:32:02] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:32:03] local.INFO: Tab value: warmup  
[2025-11-30 03:32:03] local.INFO: Tab value: strength  
[2025-11-30 03:32:03] local.INFO: Tab value: conditioning  
[2025-11-30 03:32:03] local.INFO: Tab value: weightlifting  
[2025-11-30 03:32:03] local.INFO: Tab value: test  
[2025-11-30 03:32:03] local.INFO: Tab value: test  
[2025-11-30 03:32:03] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-30 03:32:03] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:32:31] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:32:31] local.INFO: Tab value: warmup  
[2025-11-30 03:32:31] local.INFO: Tab value: conditioning  
[2025-11-30 03:32:31] local.INFO: Tab value: strength  
[2025-11-30 03:32:31] local.INFO: Tab value: weightlifting  
[2025-11-30 03:32:31] local.INFO: Tab value: test  
[2025-11-30 03:32:31] local.INFO: Tab value: test  
[2025-11-30 03:32:32] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:32:32] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-30 03:33:26] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:33:26] local.INFO: Tab value: warmup  
[2025-11-30 03:33:27] local.INFO: Tab value: strength  
[2025-11-30 03:33:27] local.INFO: Tab value: conditioning  
[2025-11-30 03:33:27] local.INFO: Tab value: test  
[2025-11-30 03:33:27] local.INFO: Tab value: weightlifting  
[2025-11-30 03:33:27] local.INFO: Tab value: test  
[2025-11-30 03:33:27] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-30 03:33:27] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:45:01] local.INFO: Tab value: warmup  
[2025-11-30 03:45:02] local.INFO: Tab value: strength  
[2025-11-30 03:45:02] local.INFO: Tab value: conditioning  
[2025-11-30 03:45:02] local.INFO: Tab value: weightlifting  
[2025-11-30 03:45:02] local.INFO: Tab value: test  
[2025-11-30 03:45:02] local.INFO: Tab value: test  
[2025-11-30 03:45:02] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-30 03:45:02] local.INFO: Received date: 30/11/25 Sunday  
[2025-11-30 03:45:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-11-30 03:45:02] local.INFO: Strength records fetched: 0  
[2025-11-30 03:45:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-11-30 03:45:02] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:45:04] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:45:04] local.INFO: return Weightlifting Request Data:   
[2025-11-30 03:45:07] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:45:07] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:45:07] local.INFO: Received date: 30/11/25 Sunday  
[2025-11-30 03:45:08] local.INFO: Test records fetched: 0  
[2025-11-30 03:45:08] local.INFO: Test records fetched: []  
[2025-11-30 03:45:08] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-30 03:45:09] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:45:10] local.INFO: Received date: 30/11/25 Sunday  
[2025-11-30 03:45:10] local.INFO: Test records fetched: 0  
[2025-11-30 03:45:10] local.INFO: Test records fetched: []  
[2025-11-30 03:45:10] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-11-30 03:45:10] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:45:14] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:45:43] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-11-30 03:45:44] local.INFO: Tab value: warmup  
[2025-11-30 03:45:44] local.INFO: Tab value: strength  
[2025-11-30 03:45:44] local.INFO: Tab value: conditioning  
[2025-11-30 03:45:44] local.INFO: Tab value: test  
[2025-11-30 03:45:44] local.INFO: Tab value: weightlifting  
[2025-11-30 03:45:44] local.INFO: Tab value: test  
[2025-11-30 03:45:44] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-11-30 03:45:44] local.INFO: Day received: {"day":"30/11/25 Sunday"} 
[2025-12-01 01:21:47] local.INFO: Tab value: conditioning  
[2025-12-01 01:21:47] local.INFO: Tab value: warmup  
[2025-12-01 01:21:47] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:21:47] local.INFO: Tab value: strength  
[2025-12-01 01:21:47] local.INFO: Tab value: weightlifting  
[2025-12-01 01:21:47] local.INFO: Tab value: test  
[2025-12-01 01:21:47] local.INFO: Tab value: test  
[2025-12-01 01:21:47] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:21:47] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-12-01 01:22:03] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:22:04] local.INFO: Tab value: weightlifting  
[2025-12-01 01:22:04] local.INFO: Tab value: test  
[2025-12-01 01:22:04] local.INFO: Tab value: test  
[2025-12-01 01:22:04] local.INFO: Tab value: warmup  
[2025-12-01 01:22:04] local.INFO: Tab value: conditioning  
[2025-12-01 01:22:04] local.INFO: Tab value: strength  
[2025-12-01 01:22:04] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-12-01 01:22:04] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:22:27] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:22:27] local.INFO: Tab value: strength  
[2025-12-01 01:22:27] local.INFO: Tab value: warmup  
[2025-12-01 01:22:27] local.INFO: Tab value: conditioning  
[2025-12-01 01:22:27] local.INFO: Tab value: weightlifting  
[2025-12-01 01:22:27] local.INFO: Tab value: test  
[2025-12-01 01:22:27] local.INFO: Tab value: test  
[2025-12-01 01:22:27] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:22:27] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-12-01 01:22:56] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:22:59] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:23:04] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:23:04] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:23:34] local.INFO: Incoming Warmup Request Data:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","selectdatew":"01/12/25 Monday","categoryw_2":"8","workoutw_2":"23","namew_2":null,"warmup_id":null,"namew_1":"Skipping","categoryw_1":"8","workoutw_1":"23","repsw_1":"30","unit_1":"%","weigthc_1":"80","male_1":null,"female_1":null} 
[2025-12-01 01:23:34] local.INFO: Processing Warmup Group #1: {"namew_1":"Skipping","categoryw_1":"8","workoutw_1":"23","repsw_1":"30","unit_1":"%","weigthc_1":"80","male_1":null,"female_1":null} 
[2025-12-01 01:23:34] local.INFO: Warmup entry saved with ID: 32  
[2025-12-01 01:23:34] local.INFO: Processing Warmup Group #2: {"categoryw_2":"8","workoutw_2":"23","namew_2":null} 
[2025-12-01 01:23:40] local.INFO: Incoming Warmup Request Data:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","selectdatew":"01/12/25 Monday","categoryw_2":"8","workoutw_2":"23","namew_2":null,"warmup_id":null,"namew_1":"Skipping","categoryw_1":"8","workoutw_1":"23","repsw_1":"30","unit_1":"%","weigthc_1":"80","male_1":null,"female_1":null} 
[2025-12-01 01:23:40] local.INFO: Processing Warmup Group #1: {"namew_1":"Skipping","categoryw_1":"8","workoutw_1":"23","repsw_1":"30","unit_1":"%","weigthc_1":"80","male_1":null,"female_1":null} 
[2025-12-01 01:23:40] local.INFO: Warmup entry saved with ID: 33  
[2025-12-01 01:23:40] local.INFO: Processing Warmup Group #2: {"categoryw_2":"8","workoutw_2":"23","namew_2":null} 
[2025-12-01 01:24:37] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 01:24:37] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:24:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-01 01:24:37] local.INFO: Strength records fetched: 0  
[2025-12-01 01:24:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-01 01:24:48] local.INFO: return Strength Request Data:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","date":"01/12/25 Monday","name":null,"category_id":"2","workout_id":null} 
[2025-12-01 01:24:48] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:24:49] local.INFO: return Strength Request Data:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","date":"01/12/25 Monday","name":null,"category_id":"2","workout_id":null} 
[2025-12-01 01:24:49] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:24:49] local.INFO: return Strength Request Data:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","date":"01/12/25 Monday","name":null,"category_id":"2","workout_id":null} 
[2025-12-01 01:24:49] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:25:00] local.INFO: return Strength Request Data:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","date":"01/12/25 Monday","name":null,"category_id":"2","workout_id":"45"} 
[2025-12-01 01:25:00] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:25:00] local.INFO: return Strength Request Data:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","date":"01/12/25 Monday","name":null,"category_id":"2","workout_id":"45"} 
[2025-12-01 01:25:00] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:25:01] local.INFO: return Strength Request Data:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","date":"01/12/25 Monday","name":null,"category_id":"2","workout_id":"45"} 
[2025-12-01 01:25:01] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:25:01] local.INFO: return Strength Request Data:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","date":"01/12/25 Monday","name":null,"category_id":"2","workout_id":"45"} 
[2025-12-01 01:25:01] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:25:02] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 01:25:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-01 01:25:02] local.INFO: Strength records fetched: 0  
[2025-12-01 01:25:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-01 01:25:02] local.INFO: return Strength Request Data:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","date":"01/12/25 Monday","name":null,"category_id":null,"workout_id":null} 
[2025-12-01 01:25:02] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:25:02] local.INFO: return Strength Request Data:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","date":"01/12/25 Monday","name":null,"category_id":null,"workout_id":null} 
[2025-12-01 01:25:02] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:25:39] local.INFO: Received request data: {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","selectdates":"01/12/25 Monday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"Bench","categorys_1":"2","workouts_1":"40","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"6","sets_14":"4","reps_14":"6","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2025-12-01 01:25:39] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Bench","categorys_1":"2","workouts_1":"40","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"3","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"6","sets_14":"4","reps_14":"6","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2025-12-01 01:25:39] local.INFO: Created Strength ID {"id":71} 
[2025-12-01 01:25:39] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"strength_id":71} 
[2025-12-01 01:25:39] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":71} 
[2025-12-01 01:25:39] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"6","alt_set":null,"alt_reps":null,"strength_id":71} 
[2025-12-01 01:25:39] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"6","alt_set":null,"alt_reps":null,"strength_id":71} 
[2025-12-01 01:25:42] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 01:25:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":71,"category_id":2,"workout_id":40,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"01/12/25 Monday","created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z","workoutname":"Bench","is_assigned":0,"unit":"%","category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":163,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":164,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":165,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":166,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-12-01 01:25:42] local.INFO: Strength records fetched: 1  
[2025-12-01 01:25:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":71,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Bench","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"01/12/25 Monday","sets":[{"id":163,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":164,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":165,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":166,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-01 01:25:42] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:25:48] local.INFO: assigned weightlifting:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","workout_id":"71","workout_type":"strength","date":"01/12/25 Monday","assigned":"1","class_id":"70"} 
[2025-12-01 01:25:50] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:26:04] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:26:04] local.INFO: Tab value: warmup  
[2025-12-01 01:26:04] local.INFO: Tab value: strength  
[2025-12-01 01:26:04] local.INFO: Tab value: test  
[2025-12-01 01:26:04] local.INFO: Tab value: conditioning  
[2025-12-01 01:26:04] local.INFO: Tab value: weightlifting  
[2025-12-01 01:26:04] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-12-01 01:26:04] local.INFO: Tab value: test  
[2025-12-01 01:26:04] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:26:22] local.INFO: assigned weightlifting:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","workout_id":"32","workout_type":"warmup","date":"01/12/25 Monday","assigned":"1","class_id":"70"} 
[2025-12-01 01:26:23] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:26:27] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-01 01:26:35] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 01:26:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":71,"category_id":2,"workout_id":40,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"01/12/25 Monday","created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:48.000000Z","workoutname":"Bench","is_assigned":1,"unit":"%","category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":163,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":164,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":165,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":166,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-12-01 01:26:35] local.INFO: Strength records fetched: 1  
[2025-12-01 01:26:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":71,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Bench","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"01/12/25 Monday","sets":[{"id":163,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":164,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":165,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":166,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-01 01:26:35] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:27:21] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:27:21] local.INFO: return Weightlifting Request Data:   
[2025-12-01 01:28:33] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:28:33] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 01:28:33] local.INFO: Test records fetched: 0  
[2025-12-01 01:28:33] local.INFO: Test records fetched: []  
[2025-12-01 01:28:33] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"1","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2024-08-15T01:51:38.000000Z","startdate":null,"is_subsactive":0},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-12-01 01:31:38] local.INFO: Image paths before update:   
[2025-12-01 01:31:38] local.INFO: Profile data after update:  {"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27 00:00:00","gender":"Male","age":"38","phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":"186","weight":"106","bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01 00:00:00","is_subsactive":"1"} 
[2025-12-01 01:33:16] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:33:16] local.INFO: Tab value: warmup  
[2025-12-01 01:33:16] local.INFO: Tab value: strength  
[2025-12-01 01:33:16] local.INFO: Tab value: conditioning  
[2025-12-01 01:33:16] local.INFO: Tab value: weightlifting  
[2025-12-01 01:33:16] local.INFO: Tab value: test  
[2025-12-01 01:33:16] local.INFO: Tab value: test  
[2025-12-01 01:33:16] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-12-01 01:33:16] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:33:19] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:33:19] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 01:33:19] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":71,"category_id":2,"workout_id":40,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"01/12/25 Monday","created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:48.000000Z","workoutname":"Bench","is_assigned":1,"unit":"%","category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":163,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":164,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":165,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":166,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-12-01 01:33:19] local.INFO: Strength records fetched: 1  
[2025-12-01 01:33:19] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":71,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Bench","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"01/12/25 Monday","sets":[{"id":163,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":164,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":165,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":166,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-01 01:33:21] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:33:21] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 01:33:21] local.INFO: Test records fetched: 0  
[2025-12-01 01:33:21] local.INFO: Test records fetched: []  
[2025-12-01 01:33:21] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-12-01 01:33:40] local.INFO: Test Request Data dd: {"request":{"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","selectdatet":"01/12/25 Monday","test_id":null,"namet_1":"1RM Bench","test-category_1":"9","test-workout_1":"118","test-member_1":"1"}} 
[2025-12-01 01:33:41] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 01:33:41] local.INFO: Test records fetched: 1  
[2025-12-01 01:33:41] local.INFO: Test records fetched: [{"id":24,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":1,"member_name":"James","workoutname":"1RM Bench"}]  
[2025-12-01 01:33:41] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":24,"category_id":9,"category_name":"Horizontal Press","workout_id":118,"is_assigned":0,"workout_type":"Bench","member_id":1,"member_name":"James","workoutname":"1RM Bench"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-12-01 01:33:42] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:33:43] local.INFO: assigned weightlifting:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","workout_id":"24","workout_type":"test","date":"01/12/25 Monday","assigned":"1","class_id":"71"} 
[2025-12-01 01:33:44] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:33:50] local.INFO: assigned weightlifting:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","workout_id":"24","workout_type":"test","date":"01/12/25 Monday","assigned":"0"} 
[2025-12-01 01:33:51] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:33:54] local.INFO: assigned weightlifting:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","workout_id":"24","workout_type":"test","date":"01/12/25 Monday","assigned":"1","class_id":"70"} 
[2025-12-01 01:33:55] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:35:30] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 01:35:30] local.INFO: Test records fetched: 0  
[2025-12-01 01:35:30] local.INFO: Test records fetched: []  
[2025-12-01 01:35:30] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-12-01 01:35:45] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:35:46] local.INFO: Tab value: warmup  
[2025-12-01 01:35:46] local.INFO: Tab value: strength  
[2025-12-01 01:35:46] local.INFO: Tab value: conditioning  
[2025-12-01 01:35:46] local.INFO: Tab value: test  
[2025-12-01 01:35:46] local.INFO: Tab value: weightlifting  
[2025-12-01 01:35:46] local.INFO: Tab value: test  
[2025-12-01 01:35:46] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-12-01 01:35:46] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:35:48] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:35:48] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 01:35:48] local.INFO: Test records fetched: 0  
[2025-12-01 01:35:48] local.INFO: Test records fetched: []  
[2025-12-01 01:35:48] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-12-01 01:36:01] local.INFO: Test Request Data dd: {"request":{"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","selectdatet":"01/12/25 Monday","test_id":null,"namet_1":"Bench","test-category_1":"2","test-workout_1":"40","test-member_1":"1"}} 
[2025-12-01 01:36:03] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 01:36:03] local.INFO: Test records fetched: 1  
[2025-12-01 01:36:03] local.INFO: Test records fetched: [{"id":25,"category_id":2,"category_name":"Vertical press","workout_id":40,"is_assigned":0,"workout_type":"Push press","member_id":1,"member_name":"James","workoutname":"Bench"}]  
[2025-12-01 01:36:03] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":25,"category_id":2,"category_name":"Vertical press","workout_id":40,"is_assigned":0,"workout_type":"Push press","member_id":1,"member_name":"James","workoutname":"Bench"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-12-01 01:36:03] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 01:36:04] local.INFO: assigned weightlifting:  {"_token":"ELeQdHPbYt7JlRuyf0a3llY543bJSzkErjqIf7zS","workout_id":"25","workout_type":"test","date":"01/12/25 Monday","assigned":"1","class_id":"70"} 
[2025-12-01 01:36:05] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 04:40:10] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 04:40:10] local.INFO: Tab value: weightlifting  
[2025-12-01 04:40:10] local.INFO: Tab value: test  
[2025-12-01 04:40:10] local.INFO: Tab value: warmup  
[2025-12-01 04:40:10] local.INFO: Tab value: strength  
[2025-12-01 04:40:10] local.INFO: Tab value: conditioning  
[2025-12-01 04:40:10] local.INFO: Tab value: test  
[2025-12-01 04:40:10] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-12-01 04:40:10] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 04:55:58] local.INFO: storewarmupdaily function called.  
[2025-12-01 04:55:58] local.INFO: Authenticated user ID: 4, Member ID: 1  
[2025-12-01 04:55:58] local.INFO: Received warmup payload: {"warmupItems":[{"warmup_id":32,"reps":30,"selected_day":"01/12/2025 Monday"}]} 
[2025-12-01 04:55:58] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2025-12-01 04:55:58] local.INFO: New warm-up created {"warmup_id":32} 
[2025-12-01 04:56:14] local.INFO: storestrengthdaily function called.  
[2025-12-01 04:56:14] local.INFO: Authenticated user ID: 4, Member ID: 1  
[2025-12-01 04:56:14] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":71,"reps":3,"weight":46.75,"selected_day":"01/12/2025 Monday"},{"set_number":2,"strength_id":71,"reps":4,"weight":53.5,"selected_day":"01/12/2025 Monday"},{"set_number":3,"strength_id":71,"reps":6,"weight":60.25,"selected_day":"01/12/2025 Monday"},{"set_number":4,"strength_id":71,"reps":6,"weight":67,"selected_day":"01/12/2025 Monday"}]} 
[2025-12-01 04:56:14] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-01 04:56:14] local.INFO: New strength record created {"strength_id":71,"set_number":1} 
[2025-12-01 04:56:14] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-01 04:56:14] local.INFO: New strength record created {"strength_id":71,"set_number":2} 
[2025-12-01 04:56:14] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-01 04:56:14] local.INFO: New strength record created {"strength_id":71,"set_number":3} 
[2025-12-01 04:56:14] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-01 04:56:14] local.INFO: New strength record created {"strength_id":71,"set_number":4} 
[2025-12-01 05:03:16] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 05:03:16] local.INFO: Test records fetched: 1  
[2025-12-01 05:03:16] local.INFO: Test records fetched: [{"id":25,"category_id":2,"category_name":"Vertical press","workout_id":40,"is_assigned":1,"workout_type":"Push press","member_id":1,"member_name":"James","workoutname":"Bench"}]  
[2025-12-01 05:03:16] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":25,"category_id":2,"category_name":"Vertical press","workout_id":40,"is_assigned":1,"workout_type":"Push press","member_id":1,"member_name":"James","workoutname":"Bench"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-12-01 05:03:16] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 05:59:55] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 05:59:55] local.INFO: Tab value: warmup  
[2025-12-01 05:59:55] local.INFO: Tab value: conditioning  
[2025-12-01 05:59:55] local.INFO: Tab value: strength  
[2025-12-01 05:59:55] local.INFO: Tab value: test  
[2025-12-01 05:59:55] local.INFO: Tab value: weightlifting  
[2025-12-01 05:59:55] local.INFO: Tab value: test  
[2025-12-01 05:59:55] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}] 
[2025-12-01 05:59:55] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 06:02:26] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 06:02:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":71,"category_id":2,"workout_id":40,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"01/12/25 Monday","created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:48.000000Z","workoutname":"Bench","is_assigned":1,"unit":"%","category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":163,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":164,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":165,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":166,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-12-01 06:02:26] local.INFO: Strength records fetched: 1  
[2025-12-01 06:02:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":71,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Bench","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"01/12/25 Monday","sets":[{"id":163,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":164,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":165,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":166,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-01 06:02:26] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 06:06:08] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 06:06:08] local.INFO: Test records fetched: 1  
[2025-12-01 06:06:08] local.INFO: Test records fetched: [{"id":25,"category_id":2,"category_name":"Vertical press","workout_id":40,"is_assigned":1,"workout_type":"Push press","member_id":1,"member_name":"James","workoutname":"Bench"}]  
[2025-12-01 06:06:08] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":25,"category_id":2,"category_name":"Vertical press","workout_id":40,"is_assigned":1,"workout_type":"Push press","member_id":1,"member_name":"James","workoutname":"Bench"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-12-01 06:06:08] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 06:08:35] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 06:08:35] local.INFO: Received date: 01/12/25 Monday  
[2025-12-01 06:08:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":71,"category_id":2,"workout_id":40,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"01/12/25 Monday","created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:48.000000Z","workoutname":"Bench","is_assigned":1,"unit":"%","category":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"workout":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},"setstrengthsetsreps":[{"id":163,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":164,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":165,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":166,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-12-01 06:08:35] local.INFO: Strength records fetched: 1  
[2025-12-01 06:08:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":71,"category_id":2,"category_name":"Vertical press","workout_id":40,"workout_type":"Push press","workoutname":"Bench","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"01/12/25 Monday","sets":[{"id":163,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":164,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":165,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"},{"id":166,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":71,"created_at":"2025-12-01T01:25:39.000000Z","updated_at":"2025-12-01T01:25:39.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-01 06:08:35] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 06:11:20] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 06:11:21] local.INFO: Tab value: test  
[2025-12-01 06:11:21] local.INFO: Tab value: weightlifting  
[2025-12-01 06:11:21] local.INFO: Tab value: test  
[2025-12-01 06:11:21] local.INFO: Tab value: strength  
[2025-12-01 06:11:21] local.INFO: Tab value: warmup  
[2025-12-01 06:11:21] local.INFO: Tab value: conditioning  
[2025-12-01 06:11:21] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-01 06:11:21] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1}] 
[2025-12-01 06:11:31] local.INFO: Day received: {"day":"02/12/25 Tuesday"} 
[2025-12-01 06:11:38] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-02 06:14:35] local.INFO: getData function called.  
[2025-12-02 06:14:35] local.INFO: Date received: 02/12/25 Tuesday  
[2025-12-02 06:14:35] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-12-02 06:14:35] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-12-02 06:14:35] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-02 06:14:35] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-12-02 06:14:35] local.INFO: All Details:  
[2025-12-02 06:14:35] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-12-02 06:14:43] local.INFO: getData function called.  
[2025-12-02 06:14:43] local.INFO: Date received: 02/12/25 Tuesday  
[2025-12-02 06:14:43] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-12-02 06:14:43] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-12-02 06:14:43] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-02 06:14:43] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-12-02 06:14:43] local.INFO: All Details:  
[2025-12-02 06:14:43] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-12-02 06:18:23] local.INFO: Day received: {"day":"02/12/25 Tuesday"} 
[2025-12-02 06:18:23] local.INFO: Tab value: warmup  
[2025-12-02 06:18:23] local.INFO: Tab value: strength  
[2025-12-02 06:18:23] local.INFO: Tab value: weightlifting  
[2025-12-02 06:18:23] local.INFO: Tab value: conditioning  
[2025-12-02 06:18:23] local.INFO: Tab value: test  
[2025-12-02 06:18:23] local.INFO: Tab value: test  
[2025-12-02 06:18:24] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1}] 
[2025-12-02 06:18:24] local.INFO: Day received: {"day":"02/12/25 Tuesday"} 
[2025-12-03 00:40:26] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 00:40:26] local.INFO: Tab value: warmup  
[2025-12-03 00:40:26] local.INFO: Tab value: strength  
[2025-12-03 00:40:26] local.INFO: Tab value: weightlifting  
[2025-12-03 00:40:26] local.INFO: Tab value: test  
[2025-12-03 00:40:26] local.INFO: Tab value: conditioning  
[2025-12-03 00:40:26] local.INFO: Tab value: test  
[2025-12-03 00:40:26] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1}] 
[2025-12-03 00:40:26] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 00:40:27] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 00:40:27] local.INFO: Received date: 03/12/25 Wednesday  
[2025-12-03 00:40:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-03 00:40:27] local.INFO: Strength records fetched: 0  
[2025-12-03 00:40:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-03 00:42:16] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 00:42:19] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 01:04:00] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 01:04:01] local.INFO: Tab value: warmup  
[2025-12-03 01:04:01] local.INFO: Tab value: strength  
[2025-12-03 01:04:01] local.INFO: Tab value: conditioning  
[2025-12-03 01:04:01] local.INFO: Tab value: test  
[2025-12-03 01:04:01] local.INFO: Tab value: weightlifting  
[2025-12-03 01:04:01] local.INFO: Tab value: test  
[2025-12-03 01:04:01] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1}] 
[2025-12-03 01:04:01] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 01:04:57] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 01:04:57] local.INFO: Tab value: warmup  
[2025-12-03 01:04:57] local.INFO: Tab value: strength  
[2025-12-03 01:04:57] local.INFO: Tab value: conditioning  
[2025-12-03 01:04:57] local.INFO: Tab value: weightlifting  
[2025-12-03 01:04:57] local.INFO: Tab value: test  
[2025-12-03 01:04:57] local.INFO: Tab value: test  
[2025-12-03 01:04:57] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1}] 
[2025-12-03 01:04:58] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 01:05:04] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:05:05] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:05:05] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:05:18] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:05:25] local.INFO: Response filtered data Warmup:  {"Warmup":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:05:26] local.ERROR: Error in getwarmup: Call to undefined method App\Models\Warmup::d()  
[2025-12-03 01:05:47] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 01:05:47] local.INFO: Tab value: warmup  
[2025-12-03 01:05:47] local.INFO: Tab value: strength  
[2025-12-03 01:05:47] local.INFO: Tab value: conditioning  
[2025-12-03 01:05:47] local.INFO: Tab value: test  
[2025-12-03 01:05:48] local.INFO: Tab value: weightlifting  
[2025-12-03 01:05:48] local.INFO: Tab value: test  
[2025-12-03 01:05:48] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1}] 
[2025-12-03 01:05:48] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 01:05:50] local.INFO: Received date: 03/12/25 Wednesday  
[2025-12-03 01:05:50] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 01:05:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-03 01:05:50] local.INFO: Strength records fetched: 0  
[2025-12-03 01:05:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-03 01:05:51] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":null,"workout_id":null} 
[2025-12-03 01:05:51] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:05:54] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"5","workout_id":null} 
[2025-12-03 01:05:54] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:05:56] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"5","workout_id":"71"} 
[2025-12-03 01:05:56] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:05:57] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"5","workout_id":"71"} 
[2025-12-03 01:05:57] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:05:57] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"5","workout_id":"71"} 
[2025-12-03 01:05:57] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:05:57] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"5","workout_id":"71"} 
[2025-12-03 01:05:57] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:06:02] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"5","workout_id":"71"} 
[2025-12-03 01:06:02] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:06:02] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"5","workout_id":"71"} 
[2025-12-03 01:06:02] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:06:03] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"5","workout_id":"71"} 
[2025-12-03 01:06:03] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:06:03] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"5","workout_id":"71"} 
[2025-12-03 01:06:03] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:06:09] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"9","workout_id":"125"} 
[2025-12-03 01:06:09] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:06:09] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"9","workout_id":"125"} 
[2025-12-03 01:06:09] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:06:09] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"9","workout_id":"125"} 
[2025-12-03 01:06:09] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:06:10] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"9","workout_id":"125"} 
[2025-12-03 01:06:10] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:06:10] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"9","workout_id":"125"} 
[2025-12-03 01:06:10] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 01:06:11] local.INFO: return Strength Request Data:  {"_token":"Ff34ZOop200rZvAGnSCtIC7Bi1ujgvLXDnboDMgZ","date":"03/12/25 Wednesday","name":null,"category_id":"9","workout_id":"125"} 
[2025-12-03 01:06:11] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-03 02:06:24] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 02:06:24] local.INFO: Tab value: warmup  
[2025-12-03 02:06:24] local.INFO: Tab value: strength  
[2025-12-03 02:06:24] local.INFO: Tab value: weightlifting  
[2025-12-03 02:06:24] local.INFO: Tab value: conditioning  
[2025-12-03 02:06:24] local.INFO: Tab value: test  
[2025-12-03 02:06:24] local.INFO: Tab value: test  
[2025-12-03 02:06:24] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1}] 
[2025-12-03 02:06:25] local.INFO: Day received: {"day":"03/12/25 Wednesday"} 
[2025-12-03 03:35:52] local.INFO: storewarmupdaily function called.  
[2025-12-03 03:35:52] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-12-03 03:35:52] local.INFO: Received warmup payload: {"warmupItems":[]} 
[2025-12-03 03:36:05] local.INFO: storestrengthdaily function called.  
[2025-12-03 03:36:05] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-12-03 03:36:05] local.INFO: Received strength payload: {"strengthItems":[]} 
[2025-12-03 03:40:38] local.INFO: storewarmupdaily function called.  
[2025-12-03 03:40:38] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-12-03 03:40:38] local.INFO: Received warmup payload: {"warmupItems":[]} 
[2025-12-03 03:40:40] local.INFO: storewarmupdaily function called.  
[2025-12-03 03:40:40] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-12-03 03:40:40] local.INFO: Received warmup payload: {"warmupItems":[]} 
[2025-12-03 04:03:07] local.INFO: storestrengthdaily function called.  
[2025-12-03 04:03:07] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-12-03 04:03:07] local.INFO: Received strength payload: {"strengthItems":[]} 
[2025-12-03 04:08:10] local.INFO: storewarmupdaily function called.  
[2025-12-03 04:08:10] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2025-12-03 04:08:10] local.INFO: Received warmup payload: {"warmupItems":[]} 
[2025-12-08 02:06:12] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 02:06:13] local.INFO: Tab value: warmup  
[2025-12-08 02:06:13] local.INFO: Tab value: strength  
[2025-12-08 02:06:13] local.INFO: Tab value: weightlifting  
[2025-12-08 02:06:13] local.INFO: Tab value: test  
[2025-12-08 02:06:13] local.INFO: Tab value: conditioning  
[2025-12-08 02:06:13] local.INFO: Tab value: test  
[2025-12-08 02:06:13] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1}] 
[2025-12-08 02:06:13] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 02:07:10] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 02:07:11] local.INFO: Tab value: warmup  
[2025-12-08 02:07:11] local.INFO: Tab value: strength  
[2025-12-08 02:07:11] local.INFO: Tab value: conditioning  
[2025-12-08 02:07:11] local.INFO: Tab value: weightlifting  
[2025-12-08 02:07:11] local.INFO: Tab value: test  
[2025-12-08 02:07:11] local.INFO: Tab value: test  
[2025-12-08 02:07:11] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1}] 
[2025-12-08 02:07:11] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 04:48:11] local.INFO: getData function called.  
[2025-12-08 04:48:11] local.INFO: Date received: 08/12/25 Monday  
[2025-12-08 04:48:11] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-12-08 04:48:11] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-12-08 04:48:11] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-08 04:48:11] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-12-08 04:48:11] local.INFO: All Details:  
[2025-12-08 04:48:11] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-12-08 06:28:01] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 06:28:01] local.INFO: Tab value: warmup  
[2025-12-08 06:28:02] local.INFO: Tab value: strength  
[2025-12-08 06:28:02] local.INFO: Tab value: conditioning  
[2025-12-08 06:28:02] local.INFO: Tab value: test  
[2025-12-08 06:28:02] local.INFO: Tab value: test  
[2025-12-08 06:28:02] local.INFO: Tab value: weightlifting  
[2025-12-08 06:28:02] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-01T01:31:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1}] 
[2025-12-08 06:28:02] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 06:28:06] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 06:28:06] local.INFO: Received date: 08/12/25 Monday  
[2025-12-08 06:28:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-08 06:28:06] local.INFO: Strength records fetched: 0  
[2025-12-08 06:28:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-08 06:28:10] local.INFO: return Weightlifting Request Data:   
[2025-12-08 06:28:10] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 06:28:12] local.INFO: return Weightlifting Request Data:   
[2025-12-08 06:28:12] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 06:28:13] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 06:28:25] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 06:28:30] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 08:43:30] local.INFO: getData function called.  
[2025-12-08 08:43:30] local.INFO: Date received: 08/12/25 Monday  
[2025-12-08 08:43:30] local.INFO: Authenticated user:  {"user":{"App\\Models\\User":{"id":2,"name":"client","user_type":"client","email":"client@example.com","pin":3333,"created_at":null,"updated_at":null}}} 
[2025-12-08 08:43:30] local.INFO: Member found:  {"member":{"App\\Models\\Newprofile":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}} 
[2025-12-08 08:43:30] local.INFO: Warmups retrieved:  {"warmups":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-08 08:43:30] local.INFO: Strengths retrieved gggg: {"warmups":[]} 
[2025-12-08 08:43:30] local.INFO: All Details:  
[2025-12-08 08:43:30] local.INFO: Strengths retrieved: {"strengths":[]} 
[2025-12-08 08:47:09] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 08:47:09] local.INFO: Tab value: warmup  
[2025-12-08 08:47:09] local.INFO: Tab value: strength  
[2025-12-08 08:47:09] local.INFO: Tab value: conditioning  
[2025-12-08 08:47:09] local.INFO: Tab value: weightlifting  
[2025-12-08 08:47:09] local.INFO: Tab value: test  
[2025-12-08 08:47:09] local.INFO: Tab value: test  
[2025-12-08 08:47:09] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":38,"phone":"0405275022","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":186,"weight":106,"bmr":"2185.33","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/LzbG19fQwClMVhmqQzN4nsODWVvxmnqdpzAgvRDv.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-08T08:45:45.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1}] 
[2025-12-08 08:47:09] local.INFO: Day received: {"day":"08/12/25 Monday"} 
[2025-12-08 08:47:17] local.INFO: Day received: {"day":"01/12/25 Monday"} 
[2025-12-09 03:34:01] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 03:34:01] local.INFO: Tab value: warmup  
[2025-12-09 03:34:01] local.INFO: Tab value: strength  
[2025-12-09 03:34:01] local.INFO: Tab value: conditioning  
[2025-12-09 03:34:01] local.INFO: Tab value: weightlifting  
[2025-12-09 03:34:01] local.INFO: Tab value: test  
[2025-12-09 03:34:01] local.INFO: Tab value: test  
[2025-12-09 03:34:01] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/X3IcMjsUxP9vKLUB5C0nwvarMoR7PGrj2LsenA8b.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T02:25:20.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-08T10:42:42.000000Z","startdate":"2025-12-03","is_subsactive":1}] 
[2025-12-09 03:34:01] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:47:09] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:47:09] local.INFO: Tab value: warmup  
[2025-12-09 04:47:09] local.INFO: Tab value: strength  
[2025-12-09 04:47:09] local.INFO: Tab value: conditioning  
[2025-12-09 04:47:10] local.INFO: Tab value: weightlifting  
[2025-12-09 04:47:10] local.INFO: Tab value: test  
[2025-12-09 04:47:10] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:47:10] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1}] 
[2025-12-09 04:47:10] local.INFO: Tab value: test  
[2025-12-09 04:47:33] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:47:34] local.INFO: Tab value: warmup  
[2025-12-09 04:47:34] local.INFO: Tab value: strength  
[2025-12-09 04:47:34] local.INFO: Tab value: conditioning  
[2025-12-09 04:47:34] local.INFO: Tab value: weightlifting  
[2025-12-09 04:47:34] local.INFO: Tab value: test  
[2025-12-09 04:47:34] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1}] 
[2025-12-09 04:47:34] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:47:34] local.INFO: Tab value: test  
[2025-12-09 04:47:49] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:47:49] local.INFO: Tab value: warmup  
[2025-12-09 04:47:49] local.INFO: Tab value: strength  
[2025-12-09 04:47:49] local.INFO: Tab value: conditioning  
[2025-12-09 04:47:49] local.INFO: Tab value: test  
[2025-12-09 04:47:49] local.INFO: Tab value: test  
[2025-12-09 04:47:49] local.INFO: Tab value: weightlifting  
[2025-12-09 04:47:49] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1}] 
[2025-12-09 04:47:49] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:48:04] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:48:05] local.INFO: Tab value: strength  
[2025-12-09 04:48:05] local.INFO: Tab value: warmup  
[2025-12-09 04:48:05] local.INFO: Tab value: conditioning  
[2025-12-09 04:48:05] local.INFO: Tab value: weightlifting  
[2025-12-09 04:48:05] local.INFO: Tab value: test  
[2025-12-09 04:48:05] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1}] 
[2025-12-09 04:48:05] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:48:05] local.INFO: Tab value: test  
[2025-12-09 04:48:15] local.INFO: Incoming Warmup Request Data:  {"_token":"4mqlTE7ehJdThqnBunZunnufuCW2E42bHBlxG6Z2","selectdatew":"09/12/25 Tuesday","namew_2":null,"warmup_id":null,"namew_1":"warmup01","categoryw_1":"8","workoutw_1":"23","repsw_1":"2","unit_1":"/10","weigthc_1":"2","male_1":null,"female_1":null} 
[2025-12-09 04:48:15] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup01","categoryw_1":"8","workoutw_1":"23","repsw_1":"2","unit_1":"/10","weigthc_1":"2","male_1":null,"female_1":null} 
[2025-12-09 04:48:15] local.INFO: Warmup entry saved with ID: 34  
[2025-12-09 04:48:15] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-12-09 04:48:23] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:48:23] local.INFO: Tab value: warmup  
[2025-12-09 04:48:23] local.INFO: Tab value: conditioning  
[2025-12-09 04:48:24] local.INFO: Tab value: strength  
[2025-12-09 04:48:24] local.INFO: Tab value: weightlifting  
[2025-12-09 04:48:24] local.INFO: Tab value: test  
[2025-12-09 04:48:24] local.INFO: Tab value: test  
[2025-12-09 04:48:24] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1}] 
[2025-12-09 04:48:24] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:48:26] local.INFO: assigned weightlifting:  {"_token":"4mqlTE7ehJdThqnBunZunnufuCW2E42bHBlxG6Z2","workout_id":"34","workout_type":"warmup","date":"09/12/25 Tuesday","assigned":"1","class_id":"73"} 
[2025-12-09 04:48:27] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:48:31] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:48:31] local.INFO: Received date: 09/12/25 Tuesday  
[2025-12-09 04:48:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-09 04:48:31] local.INFO: Strength records fetched: 0  
[2025-12-09 04:48:31] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-09 04:48:57] local.INFO: Received request data: {"_token":"4mqlTE7ehJdThqnBunZunnufuCW2E42bHBlxG6Z2","selectdates":"09/12/25 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"12","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","sets_14":"4","reps_14":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"high"} 
[2025-12-09 04:48:57] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"12","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","sets_14":"4","reps_14":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"high"} 
[2025-12-09 04:48:57] local.INFO: Created Strength ID {"id":72} 
[2025-12-09 04:48:57] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":72} 
[2025-12-09 04:48:57] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"strength_id":72} 
[2025-12-09 04:48:57] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"2","alt_set":null,"alt_reps":null,"strength_id":72} 
[2025-12-09 04:48:57] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"2","alt_set":null,"alt_reps":null,"strength_id":72} 
[2025-12-09 04:48:58] local.INFO: Received date: 09/12/25 Tuesday  
[2025-12-09 04:48:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":72,"category_id":9,"workout_id":125,"weight":12.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"09/12/25 Tuesday","created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":167,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"},{"id":168,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"},{"id":169,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"},{"id":170,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-12-09 04:48:58] local.INFO: Strength records fetched: 1  
[2025-12-09 04:48:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":72,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"strength01","weight":12.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"09/12/25 Tuesday","sets":[{"id":167,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"},{"id":168,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"},{"id":169,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"},{"id":170,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-09 04:48:59] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:49:03] local.INFO: assigned weightlifting:  {"_token":"4mqlTE7ehJdThqnBunZunnufuCW2E42bHBlxG6Z2","workout_id":"72","workout_type":"strength","date":"09/12/25 Tuesday","assigned":"1","class_id":"73"} 
[2025-12-09 04:49:04] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:49:06] local.INFO: return Weightlifting Request Data:   
[2025-12-09 04:49:06] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:49:44] local.INFO: Incoming Weightlifting Request Data:  {"_token":"4mqlTE7ehJdThqnBunZunnufuCW2E42bHBlxG6Z2","selectdatewe":"09/12/25 Tuesday","namewe_2":null,"weightlifting_id":null,"namewe_1":"weight01","categorywe_1":"9","workoutwe_1":"126","unitwe_1":"%","weigthwe_1":"60","setwid_1":null,"setswe_1":"1","repswe_1":"2","setswe_12":"2","repswe_12":"2","setswe_13":"3","repswe_13":"2","setswe_14":"4","repswe_14":"2","setswe_15":"5","repswe_15":"2","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"medium"} 
[2025-12-09 04:49:44] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"weight01","categorywe_1":"9","workoutwe_1":"126","unitwe_1":"%","weigthwe_1":"60","setwid_1":null,"setswe_1":"1","repswe_1":"2","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"medium"} 
[2025-12-09 04:49:44] local.INFO: message for weightlifting data {"category":"9","workout":"126","name":"weight01","weigth":"60","unit":"%","restred":"00:00:15","restgreen":"00:00:15","restyellow":"00:00:15","intensity":"medium","date":"09/12/25 Tuesday"} 
[2025-12-09 04:49:44] local.INFO: Created Weightlifting ID {"id":16} 
[2025-12-09 04:49:44] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"weightlifting_id":16} 
[2025-12-09 04:49:44] local.INFO: Saving WeightliftingSet row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"weightlifting_id":16} 
[2025-12-09 04:49:44] local.INFO: Saving WeightliftingSet row {"sets":"3","reps":"2","alt_set":null,"alt_reps":null,"weightlifting_id":16} 
[2025-12-09 04:49:44] local.INFO: Saving WeightliftingSet row {"sets":"4","reps":"2","alt_set":null,"alt_reps":null,"weightlifting_id":16} 
[2025-12-09 04:49:44] local.INFO: Saving WeightliftingSet row {"sets":"5","reps":"2","alt_set":null,"alt_reps":null,"weightlifting_id":16} 
[2025-12-09 04:49:46] local.INFO: return Weightlifting Request Data:  [{"id":16,"category_id":9,"category_name":"Horizontal Press","workoutname":"weight01","workout_id":126,"workout_type":"Bench","weight":60.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"09/12/25 Tuesday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":33,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":16,"created_at":"2025-12-09T04:49:44.000000Z","updated_at":"2025-12-09T04:49:44.000000Z"},{"id":34,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":16,"created_at":"2025-12-09T04:49:44.000000Z","updated_at":"2025-12-09T04:49:44.000000Z"},{"id":35,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":16,"created_at":"2025-12-09T04:49:44.000000Z","updated_at":"2025-12-09T04:49:44.000000Z"},{"id":36,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":16,"created_at":"2025-12-09T04:49:44.000000Z","updated_at":"2025-12-09T04:49:44.000000Z"},{"id":37,"sets":5,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":16,"created_at":"2025-12-09T04:49:44.000000Z","updated_at":"2025-12-09T04:49:44.000000Z"}]}}] 
[2025-12-09 04:49:46] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:49:49] local.INFO: assigned weightlifting:  {"_token":"4mqlTE7ehJdThqnBunZunnufuCW2E42bHBlxG6Z2","class_id":"73","workout_id":"16","workout_type":"weightlifting","date":"09/12/25 Tuesday","assigned":"1"} 
[2025-12-09 04:49:51] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:49:52] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:50:06] local.INFO: Incoming Conditioning Request Data:  {"_token":"4mqlTE7ehJdThqnBunZunnufuCW2E42bHBlxG6Z2","selectdatec":"09/12/25 Tuesday","rounds":null,"conditioning_id":null,"namec_1":"ccc01","timeTC_1":"04:00","rounds_1":null,"pyramidCheckboxCon":"on","pyramidSet_1":"1","reps_1":"2","unit_1":"/10","weigthPy_1":"6","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"96","repsc_1":"2","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-12-09 04:50:06] local.INFO: Processed Conditioning Data: {"namec_1":"ccc01","timeTC_1":"04:00","rounds_1":null,"pyramidSet_1":"1","reps_1":"2","unit_1":"/10","weigthPy_1":"6","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"96","repsc_1":"2","weigthc_1":"6","male_1":null,"female_1":null} 
[2025-12-09 04:50:06] local.INFO: Created Conditioning ID {"id":23} 
[2025-12-09 04:50:06] local.INFO: Saving PyramidSet row: {"sets":null,"reps":"2","unit":"/10","pyramidweight":"6","pyramidmale":null,"pyramidfemale":null,"conditioning_id":23} 
[2025-12-09 04:50:08] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:50:12] local.INFO: assigned weightlifting:  {"_token":"4mqlTE7ehJdThqnBunZunnufuCW2E42bHBlxG6Z2","workout_id":"23","workout_type":"conditioning","date":"09/12/25 Tuesday","assigned":"1","class_id":"73"} 
[2025-12-09 04:50:13] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:50:43] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:50:43] local.INFO: Received date: 09/12/25 Tuesday  
[2025-12-09 04:50:43] local.INFO: Test records fetched: 0  
[2025-12-09 04:50:43] local.INFO: Test records fetched: []  
[2025-12-09 04:50:43] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-12-09 04:51:18] local.INFO: Test Request Data dd: {"request":{"_token":"4mqlTE7ehJdThqnBunZunnufuCW2E42bHBlxG6Z2","selectdatet":"09/12/25 Tuesday","test_id":null,"namet_1":"test01","test-category_1":"9","test-workout_1":"125","test-member_1":"7"}} 
[2025-12-09 04:51:20] local.INFO: Received date: 09/12/25 Tuesday  
[2025-12-09 04:51:20] local.INFO: Test records fetched: 1  
[2025-12-09 04:51:20] local.INFO: Test records fetched: [{"id":26,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"is_assigned":0,"workout_type":"Bench","member_id":7,"member_name":"Tharu","workoutname":"test01"}]  
[2025-12-09 04:51:20] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Support\\Collection":[{"id":26,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"is_assigned":0,"workout_type":"Bench","member_id":7,"member_name":"Tharu","workoutname":"test01"}]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-12-09 04:51:20] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:52:06] local.INFO: Received date: 09/12/25 Tuesday  
[2025-12-09 04:52:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":72,"category_id":9,"workout_id":125,"weight":12.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"09/12/25 Tuesday","created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:49:03.000000Z","workoutname":"strength01","is_assigned":1,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":167,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"},{"id":168,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"},{"id":169,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"},{"id":170,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-12-09 04:52:06] local.INFO: Strength records fetched: 1  
[2025-12-09 04:52:06] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 04:52:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":72,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"strength01","weight":12.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"09/12/25 Tuesday","sets":[{"id":167,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"},{"id":168,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"},{"id":169,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"},{"id":170,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":72,"created_at":"2025-12-09T04:48:57.000000Z","updated_at":"2025-12-09T04:48:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-09 05:03:41] local.INFO: storestrengthdaily function called.  
[2025-12-09 05:03:41] local.INFO: Authenticated user ID: 12, Member ID: 7  
[2025-12-09 05:03:41] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":72,"reps":2,"weight":8,"selected_day":"09/12/2025 Tuesday"},{"set_number":2,"strength_id":72,"reps":2,"weight":9.25,"selected_day":"09/12/2025 Tuesday"},{"set_number":3,"strength_id":72,"reps":2,"weight":10.25,"selected_day":"09/12/2025 Tuesday"},{"set_number":4,"strength_id":72,"reps":2,"weight":11.5,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 05:03:41] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-09 05:03:41] local.INFO: New strength record created {"strength_id":72,"set_number":1} 
[2025-12-09 05:03:41] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-09 05:03:41] local.INFO: New strength record created {"strength_id":72,"set_number":2} 
[2025-12-09 05:03:41] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-09 05:03:41] local.INFO: New strength record created {"strength_id":72,"set_number":3} 
[2025-12-09 05:03:41] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-09 05:03:41] local.INFO: New strength record created {"strength_id":72,"set_number":4} 
[2025-12-09 05:55:46] local.INFO: storeconditioningdaily function called.  
[2025-12-09 05:55:46] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-09 05:55:46] local.INFO: Received conditioning payload: {"conditioningItems":[{"conditioning_id":23,"reps":2,"weight":6,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 05:55:46] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2025-12-09 05:55:46] local.INFO: New conditioning record created {"conditioning_id":23} 
[2025-12-09 05:56:01] local.INFO: storewarmupdaily function called.  
[2025-12-09 05:56:01] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-09 05:56:01] local.INFO: Received warmup payload: {"warmupItems":[{"warmup_id":34,"reps":3,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 05:56:01] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2025-12-09 05:56:01] local.INFO: New warm-up created {"warmup_id":34} 
[2025-12-09 05:56:10] local.ERROR: Call to a member function getKey() on array {"userId":13,"exception":"[object] (Error(code: 0): Call to a member function getKey() on array at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php:328)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/UserMobileController.php(479): Illuminate\\Database\\Eloquent\\Collection->merge(Object(Illuminate\\Support\\Collection))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\UserMobileController->getMemberWorkoutDetails(Object(Illuminate\\Http\\Request))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('getMemberWorkou...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\UserMobileController), 'getMemberWorkou...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(159): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(125): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest(Object(Illuminate\\Http\\Request), Object(Closure), Array)
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(87): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter(Object(Illuminate\\Http\\Request), Object(Closure), 'api', Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'api')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'sanctum')
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#40 {main}
"} 
[2025-12-09 05:57:35] local.INFO: storestrengthdaily function called.  
[2025-12-09 05:57:35] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-09 05:57:35] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":72,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":2,"strength_id":72,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":3,"strength_id":72,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":4,"strength_id":72,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 05:57:35] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-09 05:57:35] local.INFO: New strength record created {"strength_id":72,"set_number":1} 
[2025-12-09 05:57:35] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-09 05:57:35] local.INFO: New strength record created {"strength_id":72,"set_number":2} 
[2025-12-09 05:57:35] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-09 05:57:35] local.INFO: New strength record created {"strength_id":72,"set_number":3} 
[2025-12-09 05:57:35] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-09 05:57:35] local.INFO: New strength record created {"strength_id":72,"set_number":4} 
[2025-12-09 05:59:02] local.INFO: storewarmupdaily function called.  
[2025-12-09 05:59:02] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-09 05:59:02] local.INFO: Received warmup payload: {"warmupItems":[{"warmup_id":34,"reps":2,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 05:59:02] local.INFO: Existing warmup record: {"dailyWarmup":{"id":6,"member_id":8,"warmup_id":34,"reps":3,"date":"09/12/2025 Tuesday","created_at":"2025-12-09T05:56:01.000000Z","updated_at":"2025-12-09T05:56:01.000000Z"}} 
[2025-12-09 05:59:02] local.INFO: Warm-up updated {"warmup_id":34} 
[2025-12-09 05:59:35] local.INFO: storestrengthdaily function called.  
[2025-12-09 05:59:35] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-09 05:59:35] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":72,"reps":4,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":2,"strength_id":72,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":3,"strength_id":72,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":4,"strength_id":72,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 05:59:35] local.INFO: Existing strength record: {"dailyStrength":{"id":34,"member_id":8,"strength_id":72,"type":"Primary","reps":2,"weight":"0","date":"09/12/2025 Tuesday","created_at":"2025-12-09T05:57:35.000000Z","updated_at":"2025-12-09T05:57:35.000000Z","set_number":1}} 
[2025-12-09 05:59:35] local.INFO: Strength updated {"strength_id":72,"set_number":1} 
[2025-12-09 05:59:35] local.INFO: Existing strength record: {"dailyStrength":{"id":35,"member_id":8,"strength_id":72,"type":"Primary","reps":2,"weight":"0","date":"09/12/2025 Tuesday","created_at":"2025-12-09T05:57:35.000000Z","updated_at":"2025-12-09T05:57:35.000000Z","set_number":2}} 
[2025-12-09 05:59:35] local.INFO: Strength updated {"strength_id":72,"set_number":2} 
[2025-12-09 05:59:35] local.INFO: Existing strength record: {"dailyStrength":{"id":36,"member_id":8,"strength_id":72,"type":"Primary","reps":2,"weight":"0","date":"09/12/2025 Tuesday","created_at":"2025-12-09T05:57:35.000000Z","updated_at":"2025-12-09T05:57:35.000000Z","set_number":3}} 
[2025-12-09 05:59:35] local.INFO: Strength updated {"strength_id":72,"set_number":3} 
[2025-12-09 05:59:35] local.INFO: Existing strength record: {"dailyStrength":{"id":37,"member_id":8,"strength_id":72,"type":"Primary","reps":2,"weight":"0","date":"09/12/2025 Tuesday","created_at":"2025-12-09T05:57:35.000000Z","updated_at":"2025-12-09T05:57:35.000000Z","set_number":4}} 
[2025-12-09 05:59:35] local.INFO: Strength updated {"strength_id":72,"set_number":4} 
[2025-12-09 06:00:11] local.INFO: storestrengthdaily function called.  
[2025-12-09 06:00:11] local.INFO: Authenticated user ID: 4, Member ID: 1  
[2025-12-09 06:00:11] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":72,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":2,"strength_id":72,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":3,"strength_id":72,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":4,"strength_id":72,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 06:00:11] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-09 06:00:11] local.INFO: New strength record created {"strength_id":72,"set_number":1} 
[2025-12-09 06:00:11] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-09 06:00:11] local.INFO: New strength record created {"strength_id":72,"set_number":2} 
[2025-12-09 06:00:11] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-09 06:00:11] local.INFO: New strength record created {"strength_id":72,"set_number":3} 
[2025-12-09 06:00:11] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-09 06:00:11] local.INFO: New strength record created {"strength_id":72,"set_number":4} 
[2025-12-09 06:00:48] local.INFO: storeweightliftingdaily function called.  
[2025-12-09 06:00:48] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-09 06:00:48] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"set_number":1,"weightlifting_id":16,"reps":5,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":2,"weightlifting_id":16,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":3,"weightlifting_id":16,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":4,"weightlifting_id":16,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":5,"weightlifting_id":16,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 06:00:48] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 06:00:48] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":1} 
[2025-12-09 06:00:48] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 06:00:48] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":2} 
[2025-12-09 06:00:48] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 06:00:48] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":3} 
[2025-12-09 06:00:48] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 06:00:48] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":4} 
[2025-12-09 06:00:48] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 06:00:48] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":5} 
[2025-12-09 06:05:06] local.INFO: storewarmupdaily function called.  
[2025-12-09 06:05:06] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-09 06:05:06] local.INFO: Received warmup payload: {"warmupItems":[{"warmup_id":34,"reps":3,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 06:05:06] local.INFO: Existing warmup record: {"dailyWarmup":{"id":6,"member_id":8,"warmup_id":34,"reps":2,"date":"09/12/2025 Tuesday","created_at":"2025-12-09T05:56:01.000000Z","updated_at":"2025-12-09T05:59:02.000000Z"}} 
[2025-12-09 06:05:06] local.INFO: Warm-up updated {"warmup_id":34} 
[2025-12-09 06:05:13] local.INFO: storewarmupdaily function called.  
[2025-12-09 06:05:13] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-09 06:05:13] local.INFO: Received warmup payload: {"warmupItems":[{"warmup_id":34,"reps":4,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 06:05:13] local.INFO: Existing warmup record: {"dailyWarmup":{"id":6,"member_id":8,"warmup_id":34,"reps":3,"date":"09/12/2025 Tuesday","created_at":"2025-12-09T05:56:01.000000Z","updated_at":"2025-12-09T06:05:06.000000Z"}} 
[2025-12-09 06:05:13] local.INFO: Warm-up updated {"warmup_id":34} 
[2025-12-09 06:05:14] local.INFO: storewarmupdaily function called.  
[2025-12-09 06:05:14] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-09 06:05:14] local.INFO: Received warmup payload: {"warmupItems":[{"warmup_id":34,"reps":4,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 06:05:14] local.INFO: Existing warmup record: {"dailyWarmup":{"id":6,"member_id":8,"warmup_id":34,"reps":4,"date":"09/12/2025 Tuesday","created_at":"2025-12-09T05:56:01.000000Z","updated_at":"2025-12-09T06:05:13.000000Z"}} 
[2025-12-09 06:05:14] local.INFO: Warm-up updated {"warmup_id":34} 
[2025-12-09 06:05:23] local.INFO: storewarmupdaily function called.  
[2025-12-09 06:05:23] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-09 06:05:23] local.INFO: Received warmup payload: {"warmupItems":[{"warmup_id":34,"reps":4,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 06:05:23] local.INFO: Existing warmup record: {"dailyWarmup":{"id":6,"member_id":8,"warmup_id":34,"reps":4,"date":"09/12/2025 Tuesday","created_at":"2025-12-09T05:56:01.000000Z","updated_at":"2025-12-09T06:05:13.000000Z"}} 
[2025-12-09 06:05:23] local.INFO: Warm-up updated {"warmup_id":34} 
[2025-12-09 06:20:31] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 06:20:31] local.INFO: Tab value: warmup  
[2025-12-09 06:20:31] local.INFO: Tab value: strength  
[2025-12-09 06:20:31] local.INFO: Tab value: conditioning  
[2025-12-09 06:20:31] local.INFO: Tab value: weightlifting  
[2025-12-09 06:20:31] local.INFO: Tab value: test  
[2025-12-09 06:20:31] local.INFO: Tab value: test  
[2025-12-09 06:20:31] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1},{"id":8,"user_id":13,"firstname":"Imesha","lastname":"Test","dob":"1999-08-19","gender":"Female","age":26,"phone":"0771234567","email":"test@gmail.com","address":"77/A, Wegowwa, Minuwangoda","height":150,"weight":50,"bmr":"1146.50","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"[]","created_at":"2025-12-09T05:52:42.000000Z","updated_at":"2025-12-09T05:52:42.000000Z","startdate":"2025-12-09","is_subsactive":0}] 
[2025-12-09 06:20:32] local.INFO: Day received: {"day":"09/12/25 Tuesday"} 
[2025-12-09 10:22:51] local.INFO: storeweightliftingdaily function called.  
[2025-12-09 10:22:51] local.INFO: Authenticated user ID: 4, Member ID: 1  
[2025-12-09 10:22:51] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"set_number":1,"weightlifting_id":16,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":2,"weightlifting_id":16,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":3,"weightlifting_id":16,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":4,"weightlifting_id":16,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"},{"set_number":5,"weightlifting_id":16,"reps":2,"weight":0,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 10:22:51] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 10:22:51] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":1} 
[2025-12-09 10:22:51] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 10:22:51] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":2} 
[2025-12-09 10:22:51] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 10:22:51] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":3} 
[2025-12-09 10:22:51] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 10:22:51] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":4} 
[2025-12-09 10:22:51] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 10:22:51] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":5} 
[2025-12-09 10:41:07] local.INFO: storeweightliftingdaily function called.  
[2025-12-09 10:41:07] local.INFO: Authenticated user ID: 12, Member ID: 7  
[2025-12-09 10:41:07] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"set_number":1,"weightlifting_id":16,"reps":2,"weight":40.25,"selected_day":"09/12/2025 Tuesday"},{"set_number":2,"weightlifting_id":16,"reps":2,"weight":44.75,"selected_day":"09/12/2025 Tuesday"},{"set_number":3,"weightlifting_id":16,"reps":2,"weight":49,"selected_day":"09/12/2025 Tuesday"},{"set_number":4,"weightlifting_id":16,"reps":2,"weight":53.25,"selected_day":"09/12/2025 Tuesday"},{"set_number":5,"weightlifting_id":16,"reps":2,"weight":57.5,"selected_day":"09/12/2025 Tuesday"}]} 
[2025-12-09 10:41:07] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 10:41:07] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":1} 
[2025-12-09 10:41:07] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 10:41:07] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":2} 
[2025-12-09 10:41:07] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 10:41:07] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":3} 
[2025-12-09 10:41:07] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 10:41:07] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":4} 
[2025-12-09 10:41:07] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-09 10:41:07] local.INFO: New weightlifting record created {"weightlifting_id":16,"set_number":5} 
[2025-12-10 02:32:39] local.INFO: Tab value: conditioning  
[2025-12-10 02:32:39] local.INFO: Tab value: warmup  
[2025-12-10 02:32:39] local.INFO: Tab value: strength  
[2025-12-10 02:32:39] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:32:39] local.INFO: Tab value: weightlifting  
[2025-12-10 02:32:39] local.INFO: Tab value: test  
[2025-12-10 02:32:39] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:32:39] local.INFO: Tab value: test  
[2025-12-10 02:32:39] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1},{"id":8,"user_id":13,"firstname":"Imesha","lastname":"Test","dob":"1999-08-19","gender":"Female","age":26,"phone":"0771234567","email":"test@gmail.com","address":"77/A, Wegowwa, Minuwangoda","height":150,"weight":50,"bmr":"1146.50","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"[]","created_at":"2025-12-09T05:52:42.000000Z","updated_at":"2025-12-09T05:52:42.000000Z","startdate":"2025-12-09","is_subsactive":0}] 
[2025-12-10 02:33:46] local.INFO: Incoming Warmup Request Data:  {"_token":"MFxsAhjXykXOifV9f3lRhhOXtgXeeo9zDQb4zyZA","selectdatew":"10/12/25 Wednesday","namew_2":null,"warmup_id":null,"namew_1":"warmup01","categoryw_1":"1","workoutw_1":"105","repsw_1":"2","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-12-10 02:33:46] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup01","categoryw_1":"1","workoutw_1":"105","repsw_1":"2","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-12-10 02:33:46] local.INFO: Warmup entry saved with ID: 35  
[2025-12-10 02:33:46] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2025-12-10 02:33:52] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:33:52] local.INFO: Tab value: warmup  
[2025-12-10 02:33:52] local.INFO: Tab value: conditioning  
[2025-12-10 02:33:52] local.INFO: Tab value: strength  
[2025-12-10 02:33:52] local.INFO: Tab value: weightlifting  
[2025-12-10 02:33:52] local.INFO: Tab value: test  
[2025-12-10 02:33:52] local.INFO: Tab value: test  
[2025-12-10 02:33:52] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1},{"id":8,"user_id":13,"firstname":"Imesha","lastname":"Test","dob":"1999-08-19","gender":"Female","age":26,"phone":"0771234567","email":"test@gmail.com","address":"77/A, Wegowwa, Minuwangoda","height":150,"weight":50,"bmr":"1146.50","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"[]","created_at":"2025-12-09T05:52:42.000000Z","updated_at":"2025-12-09T05:52:42.000000Z","startdate":"2025-12-09","is_subsactive":0}] 
[2025-12-10 02:33:52] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:34:02] local.INFO: Received date: 10/12/25 Wednesday  
[2025-12-10 02:34:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-10 02:34:02] local.INFO: Strength records fetched: 0  
[2025-12-10 02:34:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-10 02:34:02] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:34:37] local.INFO: Received request data: {"_token":"MFxsAhjXykXOifV9f3lRhhOXtgXeeo9zDQb4zyZA","selectdates":"10/12/25 Wednesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"strength01","categorys_1":"4","workouts_1":"64","unit_1":"%","weigths_1":"5","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","sets_14":"4","reps_14":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-12-10 02:34:37] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"strength01","categorys_1":"4","workouts_1":"64","unit_1":"%","weigths_1":"5","setsid_1":null,"sets_1":"1","reps_1":"2","sets_12":"2","reps_12":"2","sets_13":"3","reps_13":"2","sets_14":"4","reps_14":"2","restreds_1":"00:00:15","restyellows_1":"00:00:15","restgreens_1":"00:00:15","intensitys_1":"medium"} 
[2025-12-10 02:34:37] local.INFO: Created Strength ID {"id":73} 
[2025-12-10 02:34:37] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"strength_id":73} 
[2025-12-10 02:34:37] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"strength_id":73} 
[2025-12-10 02:34:37] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"2","alt_set":null,"alt_reps":null,"strength_id":73} 
[2025-12-10 02:34:37] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"2","alt_set":null,"alt_reps":null,"strength_id":73} 
[2025-12-10 02:34:38] local.INFO: Received date: 10/12/25 Wednesday  
[2025-12-10 02:34:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":73,"category_id":4,"workout_id":64,"weight":5.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/12/25 Wednesday","created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":171,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"},{"id":172,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"},{"id":173,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"},{"id":174,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-12-10 02:34:38] local.INFO: Strength records fetched: 1  
[2025-12-10 02:34:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":73,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"strength01","weight":5.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/12/25 Wednesday","sets":[{"id":171,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"},{"id":172,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"},{"id":173,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"},{"id":174,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-10 02:34:38] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:34:49] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:34:49] local.INFO: Tab value: strength  
[2025-12-10 02:34:49] local.INFO: Tab value: warmup  
[2025-12-10 02:34:50] local.INFO: Tab value: conditioning  
[2025-12-10 02:34:50] local.INFO: Tab value: weightlifting  
[2025-12-10 02:34:50] local.INFO: Tab value: test  
[2025-12-10 02:34:50] local.INFO: Tab value: test  
[2025-12-10 02:34:50] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1},{"id":8,"user_id":13,"firstname":"Imesha","lastname":"Test","dob":"1999-08-19","gender":"Female","age":26,"phone":"0771234567","email":"test@gmail.com","address":"77/A, Wegowwa, Minuwangoda","height":150,"weight":50,"bmr":"1146.50","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"[]","created_at":"2025-12-09T05:52:42.000000Z","updated_at":"2025-12-09T05:52:42.000000Z","startdate":"2025-12-09","is_subsactive":0}] 
[2025-12-10 02:34:50] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:35:00] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:35:01] local.INFO: Tab value: warmup  
[2025-12-10 02:35:01] local.INFO: Tab value: conditioning  
[2025-12-10 02:35:01] local.INFO: Tab value: strength  
[2025-12-10 02:35:01] local.INFO: Tab value: weightlifting  
[2025-12-10 02:35:01] local.INFO: Tab value: test  
[2025-12-10 02:35:01] local.INFO: Tab value: test  
[2025-12-10 02:35:01] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1},{"id":8,"user_id":13,"firstname":"Imesha","lastname":"Test","dob":"1999-08-19","gender":"Female","age":26,"phone":"0771234567","email":"test@gmail.com","address":"77/A, Wegowwa, Minuwangoda","height":150,"weight":50,"bmr":"1146.50","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"[]","created_at":"2025-12-09T05:52:42.000000Z","updated_at":"2025-12-09T05:52:42.000000Z","startdate":"2025-12-09","is_subsactive":0}] 
[2025-12-10 02:35:01] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:35:26] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:35:26] local.INFO: Tab value: warmup  
[2025-12-10 02:35:27] local.INFO: Tab value: strength  
[2025-12-10 02:35:27] local.INFO: Tab value: conditioning  
[2025-12-10 02:35:27] local.INFO: Tab value: weightlifting  
[2025-12-10 02:35:27] local.INFO: Tab value: test  
[2025-12-10 02:35:27] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":70,"bmr":"1608.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/lVmixnoiaVtmqmikYvsK0bu2AyAkzWW1xvdFjipJ.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-09T03:53:38.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1},{"id":8,"user_id":13,"firstname":"Imesha","lastname":"Test","dob":"1999-08-19","gender":"Female","age":26,"phone":"0771234567","email":"test@gmail.com","address":"77/A, Wegowwa, Minuwangoda","height":150,"weight":50,"bmr":"1146.50","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"[]","created_at":"2025-12-09T05:52:42.000000Z","updated_at":"2025-12-09T05:52:42.000000Z","startdate":"2025-12-09","is_subsactive":0}] 
[2025-12-10 02:35:27] local.INFO: Tab value: test  
[2025-12-10 02:35:27] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:35:28] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:35:28] local.INFO: return Weightlifting Request Data:   
[2025-12-10 02:36:03] local.INFO: Incoming Weightlifting Request Data:  {"_token":"MFxsAhjXykXOifV9f3lRhhOXtgXeeo9zDQb4zyZA","selectdatewe":"10/12/25 Wednesday","namewe_2":null,"weightlifting_id":null,"namewe_1":"weight01","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"50","setwid_1":null,"setswe_1":"1","repswe_1":"3","setswe_12":"2","repswe_12":"3","setswe_13":"3","repswe_13":"3","setswe_14":"4","repswe_14":"3","setswe_15":"5","repswe_15":"3","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"medium"} 
[2025-12-10 02:36:03] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"weight01","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"50","setwid_1":null,"setswe_1":"1","repswe_1":"3","restredwe_1":"00:00:15","restyellowwe_1":"00:00:15","restgreenwe_1":"00:00:15","intensitywe_1":"medium"} 
[2025-12-10 02:36:03] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"weight01","weigth":"50","unit":"%","restred":"00:00:15","restgreen":"00:00:15","restyellow":"00:00:15","intensity":"medium","date":"10/12/25 Wednesday"} 
[2025-12-10 02:36:03] local.INFO: Created Weightlifting ID {"id":17} 
[2025-12-10 02:36:03] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":17} 
[2025-12-10 02:36:03] local.INFO: Saving WeightliftingSet row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":17} 
[2025-12-10 02:36:03] local.INFO: Saving WeightliftingSet row {"sets":"3","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":17} 
[2025-12-10 02:36:03] local.INFO: Saving WeightliftingSet row {"sets":"4","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":17} 
[2025-12-10 02:36:03] local.INFO: Saving WeightliftingSet row {"sets":"5","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":17} 
[2025-12-10 02:36:05] local.INFO: return Weightlifting Request Data:  [{"id":17,"category_id":5,"category_name":"Hinge","workoutname":"weight01","workout_id":117,"workout_type":"Seal row","weight":50.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"10/12/25 Wednesday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":38,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":17,"created_at":"2025-12-10T02:36:03.000000Z","updated_at":"2025-12-10T02:36:03.000000Z"},{"id":39,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":17,"created_at":"2025-12-10T02:36:03.000000Z","updated_at":"2025-12-10T02:36:03.000000Z"},{"id":40,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":17,"created_at":"2025-12-10T02:36:03.000000Z","updated_at":"2025-12-10T02:36:03.000000Z"},{"id":41,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":17,"created_at":"2025-12-10T02:36:03.000000Z","updated_at":"2025-12-10T02:36:03.000000Z"},{"id":42,"sets":5,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":17,"created_at":"2025-12-10T02:36:03.000000Z","updated_at":"2025-12-10T02:36:03.000000Z"}]}}] 
[2025-12-10 02:36:05] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:36:08] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:36:10] local.INFO: assigned weightlifting:  {"_token":"MFxsAhjXykXOifV9f3lRhhOXtgXeeo9zDQb4zyZA","workout_id":"35","workout_type":"warmup","date":"10/12/25 Wednesday","assigned":"1","class_id":"76"} 
[2025-12-10 02:36:12] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:41:21] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:41:35] local.INFO: Incoming Conditioning Request Data:  {"_token":"MFxsAhjXykXOifV9f3lRhhOXtgXeeo9zDQb4zyZA","selectdatec":"10/12/25 Wednesday","rounds":null,"conditioning_id":null,"namec_1":"ccc01","timeTC_1":"04:00","rounds_1":null,"pyramidCheckboxCon":"on","pyramidSet_1":"1","reps_1":"2","unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"96","repsc_1":"2","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-12-10 02:41:35] local.INFO: Processed Conditioning Data: {"namec_1":"ccc01","timeTC_1":"04:00","rounds_1":null,"pyramidSet_1":"1","reps_1":"2","unit_1":"/10","weigthPy_1":"5","pyramidmale_1":null,"pyramidfemale_1":null,"categoryc_1":"8","workoutc_1":"96","repsc_1":"2","weigthc_1":"5","male_1":null,"female_1":null} 
[2025-12-10 02:41:35] local.INFO: Created Conditioning ID {"id":24} 
[2025-12-10 02:41:35] local.INFO: Saving PyramidSet row: {"sets":null,"reps":"2","unit":"/10","pyramidweight":"5","pyramidmale":null,"pyramidfemale":null,"conditioning_id":24} 
[2025-12-10 02:41:38] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:41:40] local.INFO: Received date: 10/12/25 Wednesday  
[2025-12-10 02:41:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":73,"category_id":4,"workout_id":64,"weight":5.0,"restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/12/25 Wednesday","created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z","workoutname":"strength01","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":171,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"},{"id":172,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"},{"id":173,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"},{"id":174,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2025-12-10 02:41:40] local.INFO: Strength records fetched: 1  
[2025-12-10 02:41:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":73,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"strength01","weight":5.0,"unit":"%","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/12/25 Wednesday","sets":[{"id":171,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"},{"id":172,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"},{"id":173,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"},{"id":174,"sets":4,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":73,"created_at":"2025-12-10T02:34:37.000000Z","updated_at":"2025-12-10T02:34:37.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-10 02:41:40] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:41:48] local.INFO: assigned weightlifting:  {"_token":"MFxsAhjXykXOifV9f3lRhhOXtgXeeo9zDQb4zyZA","workout_id":"73","workout_type":"strength","date":"10/12/25 Wednesday","assigned":"1","class_id":"76"} 
[2025-12-10 02:41:50] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:41:51] local.INFO: return Weightlifting Request Data:  [{"id":17,"category_id":5,"category_name":"Hinge","workoutname":"weight01","workout_id":117,"workout_type":"Seal row","weight":50.0,"unit":"%","restwered":"00:00:15","restweyellow":"00:00:15","restwegreen":"00:00:15","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"10/12/25 Wednesday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":38,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":17,"created_at":"2025-12-10T02:36:03.000000Z","updated_at":"2025-12-10T02:36:03.000000Z"},{"id":39,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":17,"created_at":"2025-12-10T02:36:03.000000Z","updated_at":"2025-12-10T02:36:03.000000Z"},{"id":40,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":17,"created_at":"2025-12-10T02:36:03.000000Z","updated_at":"2025-12-10T02:36:03.000000Z"},{"id":41,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":17,"created_at":"2025-12-10T02:36:03.000000Z","updated_at":"2025-12-10T02:36:03.000000Z"},{"id":42,"sets":5,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":17,"created_at":"2025-12-10T02:36:03.000000Z","updated_at":"2025-12-10T02:36:03.000000Z"}]}}] 
[2025-12-10 02:41:51] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:41:54] local.INFO: assigned weightlifting:  {"_token":"MFxsAhjXykXOifV9f3lRhhOXtgXeeo9zDQb4zyZA","class_id":"76","workout_id":"17","workout_type":"weightlifting","date":"10/12/25 Wednesday","assigned":"1"} 
[2025-12-10 02:41:55] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:41:57] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:42:00] local.INFO: assigned weightlifting:  {"_token":"MFxsAhjXykXOifV9f3lRhhOXtgXeeo9zDQb4zyZA","workout_id":"24","workout_type":"conditioning","date":"10/12/25 Wednesday","assigned":"1","class_id":"76"} 
[2025-12-10 02:42:01] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:42:19] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:42:19] local.INFO: Day received: {"day":"10/12/25 Wednesday"} 
[2025-12-10 02:43:08] local.INFO: storewarmupdaily function called.  
[2025-12-10 02:43:08] local.INFO: Authenticated user ID: 12, Member ID: 7  
[2025-12-10 02:43:08] local.INFO: Received warmup payload: {"warmupItems":[{"warmup_id":35,"reps":2,"selected_day":"10/12/2025 Wednesday"}]} 
[2025-12-10 02:43:08] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2025-12-10 02:43:08] local.INFO: New warm-up created {"warmup_id":35} 
[2025-12-10 02:46:34] local.INFO: storestrengthdaily function called.  
[2025-12-10 02:46:34] local.INFO: Authenticated user ID: 12, Member ID: 7  
[2025-12-10 02:46:34] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":73,"reps":2,"weight":3.25,"selected_day":"10/12/2025 Wednesday"},{"set_number":2,"strength_id":73,"reps":2,"weight":3.75,"selected_day":"10/12/2025 Wednesday"},{"set_number":3,"strength_id":73,"reps":2,"weight":4.25,"selected_day":"10/12/2025 Wednesday"},{"set_number":4,"strength_id":73,"reps":2,"weight":4.5,"selected_day":"10/12/2025 Wednesday"}]} 
[2025-12-10 02:46:34] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-10 02:46:34] local.INFO: New strength record created {"strength_id":73,"set_number":1} 
[2025-12-10 02:46:34] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-10 02:46:34] local.INFO: New strength record created {"strength_id":73,"set_number":2} 
[2025-12-10 02:46:34] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-10 02:46:34] local.INFO: New strength record created {"strength_id":73,"set_number":3} 
[2025-12-10 02:46:34] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-10 02:46:34] local.INFO: New strength record created {"strength_id":73,"set_number":4} 
[2025-12-10 05:35:42] local.INFO: storewarmupdaily function called.  
[2025-12-10 05:35:42] local.INFO: Authenticated user ID: 4, Member ID: 1  
[2025-12-10 05:35:42] local.INFO: Received warmup payload: {"warmupItems":[{"warmup_id":35,"reps":2,"selected_day":"10/12/2025 Wednesday"}]} 
[2025-12-10 05:35:42] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2025-12-10 05:35:42] local.INFO: New warm-up created {"warmup_id":35} 
[2025-12-10 07:59:45] local.INFO: storeconditioningdaily function called.  
[2025-12-10 07:59:45] local.INFO: Authenticated user ID: 4, Member ID: 1  
[2025-12-10 07:59:45] local.INFO: Received conditioning payload: {"conditioningItems":[{"conditioning_id":24,"reps":2,"weight":5,"selected_day":"10/12/2025Wednesday"}]} 
[2025-12-10 07:59:45] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2025-12-10 07:59:45] local.INFO: New conditioning record created {"conditioning_id":24} 
[2025-12-10 08:01:31] local.INFO: Strength progress start {"user_id":4,"workout_id":17,"member_id":1,"workout_type":"strength"} 
[2025-12-10 08:01:31] local.INFO: Strength records fetched {"strengths_count":16,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57]}} 
[2025-12-10 08:01:31] local.INFO: DailyStrength fetched {"daily_strength_count":0,"first_row":null} 
[2025-12-10 08:01:40] local.INFO: Strength progress start {"user_id":4,"workout_id":44,"member_id":1,"workout_type":"strength"} 
[2025-12-10 08:01:40] local.INFO: Strength records fetched {"strengths_count":0,"strength_ids":{"Illuminate\\Support\\Collection":[]}} 
[2025-12-10 08:01:48] local.INFO: Strength progress start {"user_id":4,"workout_id":126,"member_id":1,"workout_type":"Weightlifting"} 
[2025-12-10 08:02:25] local.INFO: storeweightliftingdaily function called.  
[2025-12-10 08:02:25] local.INFO: Authenticated user ID: 4, Member ID: 1  
[2025-12-10 08:02:25] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"set_number":1,"weightlifting_id":17,"reps":3,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":2,"weightlifting_id":17,"reps":3,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":3,"weightlifting_id":17,"reps":3,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":4,"weightlifting_id":17,"reps":3,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":5,"weightlifting_id":17,"reps":3,"weight":0,"selected_day":"10/12/2025 Wednesday"}]} 
[2025-12-10 08:02:25] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-10 08:02:25] local.INFO: New weightlifting record created {"weightlifting_id":17,"set_number":1} 
[2025-12-10 08:02:25] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-10 08:02:25] local.INFO: New weightlifting record created {"weightlifting_id":17,"set_number":2} 
[2025-12-10 08:02:25] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-10 08:02:25] local.INFO: New weightlifting record created {"weightlifting_id":17,"set_number":3} 
[2025-12-10 08:02:25] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-10 08:02:25] local.INFO: New weightlifting record created {"weightlifting_id":17,"set_number":4} 
[2025-12-10 08:02:25] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-10 08:02:25] local.INFO: New weightlifting record created {"weightlifting_id":17,"set_number":5} 
[2025-12-10 08:03:28] local.INFO: storestrengthdaily function called.  
[2025-12-10 08:03:28] local.INFO: Authenticated user ID: 4, Member ID: 1  
[2025-12-10 08:03:28] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":73,"reps":2,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":2,"strength_id":73,"reps":2,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":3,"strength_id":73,"reps":2,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":4,"strength_id":73,"reps":2,"weight":0,"selected_day":"10/12/2025 Wednesday"}]} 
[2025-12-10 08:03:28] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-10 08:03:28] local.INFO: New strength record created {"strength_id":73,"set_number":1} 
[2025-12-10 08:03:28] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-10 08:03:28] local.INFO: New strength record created {"strength_id":73,"set_number":2} 
[2025-12-10 08:03:28] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-10 08:03:28] local.INFO: New strength record created {"strength_id":73,"set_number":3} 
[2025-12-10 08:03:28] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-10 08:03:28] local.INFO: New strength record created {"strength_id":73,"set_number":4} 
[2025-12-10 08:06:06] local.INFO: Strength progress start {"user_id":4,"workout_id":17,"member_id":1,"workout_type":"strength"} 
[2025-12-10 08:06:06] local.INFO: Strength records fetched {"strengths_count":16,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57]}} 
[2025-12-10 08:06:06] local.INFO: DailyStrength fetched {"daily_strength_count":0,"first_row":null} 
[2025-12-10 08:06:38] local.INFO: storeconditioningdaily function called.  
[2025-12-10 08:06:38] local.INFO: Authenticated user ID: 4, Member ID: 1  
[2025-12-10 08:06:38] local.INFO: Received conditioning payload: {"conditioningItems":[{"conditioning_id":24,"reps":2,"weight":5,"selected_day":"10/12/2025Wednesday"}]} 
[2025-12-10 08:06:38] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":2,"member_id":1,"conditioning_id":24,"reps":2,"weight":"5","date":"10/12/2025Wednesday","created_at":"2025-12-10T07:59:45.000000Z","updated_at":"2025-12-10T07:59:45.000000Z"}} 
[2025-12-10 08:06:38] local.INFO: Conditioning updated {"conditioning_id":24} 
[2025-12-10 10:11:58] local.INFO: storewarmupdaily function called.  
[2025-12-10 10:11:58] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-10 10:11:58] local.INFO: Received warmup payload: {"warmupItems":[{"warmup_id":35,"reps":2,"selected_day":"10/12/2025 Wednesday"}]} 
[2025-12-10 10:11:58] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2025-12-10 10:11:58] local.INFO: New warm-up created {"warmup_id":35} 
[2025-12-10 10:12:13] local.INFO: storestrengthdaily function called.  
[2025-12-10 10:12:13] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-10 10:12:13] local.INFO: Received strength payload: {"strengthItems":[{"set_number":1,"strength_id":73,"reps":2,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":2,"strength_id":73,"reps":2,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":3,"strength_id":73,"reps":2,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":4,"strength_id":73,"reps":2,"weight":0,"selected_day":"10/12/2025 Wednesday"}]} 
[2025-12-10 10:12:13] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-10 10:12:13] local.INFO: New strength record created {"strength_id":73,"set_number":1} 
[2025-12-10 10:12:13] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-10 10:12:13] local.INFO: New strength record created {"strength_id":73,"set_number":2} 
[2025-12-10 10:12:13] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-10 10:12:13] local.INFO: New strength record created {"strength_id":73,"set_number":3} 
[2025-12-10 10:12:13] local.INFO: Existing strength record: {"dailyStrength":null} 
[2025-12-10 10:12:13] local.INFO: New strength record created {"strength_id":73,"set_number":4} 
[2025-12-10 10:14:18] local.INFO: storeweightliftingdaily function called.  
[2025-12-10 10:14:18] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-10 10:14:18] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"set_number":1,"weightlifting_id":17,"reps":3,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":2,"weightlifting_id":17,"reps":3,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":3,"weightlifting_id":17,"reps":3,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":4,"weightlifting_id":17,"reps":3,"weight":0,"selected_day":"10/12/2025 Wednesday"},{"set_number":5,"weightlifting_id":17,"reps":3,"weight":0,"selected_day":"10/12/2025 Wednesday"}]} 
[2025-12-10 10:14:18] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-10 10:14:18] local.INFO: New weightlifting record created {"weightlifting_id":17,"set_number":1} 
[2025-12-10 10:14:18] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-10 10:14:18] local.INFO: New weightlifting record created {"weightlifting_id":17,"set_number":2} 
[2025-12-10 10:14:18] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-10 10:14:18] local.INFO: New weightlifting record created {"weightlifting_id":17,"set_number":3} 
[2025-12-10 10:14:18] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-10 10:14:18] local.INFO: New weightlifting record created {"weightlifting_id":17,"set_number":4} 
[2025-12-10 10:14:18] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2025-12-10 10:14:18] local.INFO: New weightlifting record created {"weightlifting_id":17,"set_number":5} 
[2025-12-10 10:14:35] local.INFO: Strength progress start {"user_id":12,"workout_id":17,"member_id":7,"workout_type":"strength"} 
[2025-12-10 10:14:35] local.INFO: Strength records fetched {"strengths_count":16,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57]}} 
[2025-12-10 10:14:35] local.INFO: DailyStrength fetched {"daily_strength_count":0,"first_row":null} 
[2025-12-10 10:15:04] local.INFO: Strength progress start {"user_id":12,"workout_id":64,"member_id":7,"workout_type":"strength"} 
[2025-12-10 10:15:04] local.INFO: Strength records fetched {"strengths_count":2,"strength_ids":{"Illuminate\\Support\\Collection":[32,73]}} 
[2025-12-10 10:15:04] local.INFO: DailyStrength fetched {"daily_strength_count":4,"first_row":{"App\\Models\\DailyStrength":{"id":42,"member_id":7,"strength_id":73,"type":"Primary","reps":2,"weight":"3.25","date":"10/12/2025 Wednesday","created_at":"2025-12-10T02:46:34.000000Z","updated_at":"2025-12-10T02:46:34.000000Z","set_number":1}}} 
[2025-12-10 10:15:15] local.INFO: storeconditioningdaily function called.  
[2025-12-10 10:15:15] local.INFO: Authenticated user ID: 13, Member ID: 8  
[2025-12-10 10:15:15] local.INFO: Received conditioning payload: {"conditioningItems":[{"conditioning_id":24,"reps":2,"weight":5,"selected_day":"10/12/2025Wednesday"}]} 
[2025-12-10 10:15:15] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2025-12-10 10:15:15] local.INFO: New conditioning record created {"conditioning_id":24} 
[2025-12-10 10:17:22] local.INFO: Strength progress start {"user_id":13,"workout_id":17,"member_id":8,"workout_type":"strength"} 
[2025-12-10 10:17:22] local.INFO: Strength records fetched {"strengths_count":16,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57]}} 
[2025-12-10 10:17:22] local.INFO: DailyStrength fetched {"daily_strength_count":0,"first_row":null} 
[2025-12-10 10:17:26] local.INFO: Strength progress start {"user_id":4,"workout_id":17,"member_id":1,"workout_type":"strength"} 
[2025-12-10 10:17:26] local.INFO: Strength records fetched {"strengths_count":16,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57]}} 
[2025-12-10 10:17:26] local.INFO: DailyStrength fetched {"daily_strength_count":0,"first_row":null} 
[2025-12-10 10:17:28] local.INFO: Strength progress start {"user_id":13,"workout_id":65,"member_id":8,"workout_type":"strength"} 
[2025-12-10 10:17:28] local.INFO: Strength records fetched {"strengths_count":0,"strength_ids":{"Illuminate\\Support\\Collection":[]}} 
[2025-12-10 10:17:29] local.INFO: Strength progress start {"user_id":4,"workout_id":33,"member_id":1,"workout_type":"strength"} 
[2025-12-10 10:17:29] local.INFO: Strength records fetched {"strengths_count":3,"strength_ids":{"Illuminate\\Support\\Collection":[55,56,70]}} 
[2025-12-10 10:17:29] local.INFO: DailyStrength fetched {"daily_strength_count":0,"first_row":null} 
[2025-12-10 10:17:31] local.INFO: Strength progress start {"user_id":13,"workout_id":44,"member_id":8,"workout_type":"strength"} 
[2025-12-10 10:17:31] local.INFO: Strength records fetched {"strengths_count":0,"strength_ids":{"Illuminate\\Support\\Collection":[]}} 
[2025-12-10 10:17:32] local.INFO: Strength progress start {"user_id":4,"workout_id":125,"member_id":1,"workout_type":"Strength"} 
[2025-12-10 10:17:35] local.INFO: Strength progress start {"user_id":13,"workout_id":17,"member_id":8,"workout_type":"strength"} 
[2025-12-10 10:17:35] local.INFO: Strength records fetched {"strengths_count":16,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57]}} 
[2025-12-10 10:17:35] local.INFO: DailyStrength fetched {"daily_strength_count":0,"first_row":null} 
[2025-12-10 10:17:40] local.INFO: Strength progress start {"user_id":13,"workout_id":42,"member_id":8,"workout_type":"strength"} 
[2025-12-10 10:17:40] local.INFO: Strength records fetched {"strengths_count":0,"strength_ids":{"Illuminate\\Support\\Collection":[]}} 
[2025-12-11 03:40:42] local.INFO: Strength progress start {"user_id":2,"workout_id":17,"member_id":2,"workout_type":"strength"} 
[2025-12-11 03:40:42] local.INFO: Strength records fetched {"strengths_count":16,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57]}} 
[2025-12-11 03:40:42] local.INFO: DailyStrength fetched {"daily_strength_count":2,"first_row":{"App\\Models\\DailyStrength":{"id":4,"member_id":2,"strength_id":28,"type":"Primary","reps":6,"weight":"21","date":"12/07/25 Saturday","created_at":"2025-07-12T11:23:06.000000Z","updated_at":"2025-07-12T11:23:06.000000Z","set_number":null}}} 
[2025-12-15 00:21:23] local.INFO: Tab value: conditioning  
[2025-12-15 00:21:23] local.INFO: Tab value: warmup  
[2025-12-15 00:21:23] local.INFO: Day received: {"day":"15/12/25 Monday"} 
[2025-12-15 00:21:23] local.INFO: Tab value: strength  
[2025-12-15 00:21:23] local.INFO: Tab value: weightlifting  
[2025-12-15 00:21:23] local.INFO: Tab value: test  
[2025-12-15 00:21:23] local.INFO: Tab value: test  
[2025-12-15 00:21:23] local.INFO: Day received: {"day":"15/12/25 Monday"} 
[2025-12-15 00:21:23] local.INFO: Members Data: [{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":60,"bmr":"1508.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/4EeMy9S0mCAVEZBoAzsYI2NAtDUrRJAznrIXQ7ze.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-10T10:17:05.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1},{"id":8,"user_id":13,"firstname":"Imesha","lastname":"Test","dob":"1999-08-19","gender":"Female","age":26,"phone":"0771234567","email":"test@gmail.com","address":"77/A, Wegowwa, Minuwangoda","height":150,"weight":50,"bmr":"1146.50","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"[]","created_at":"2025-12-09T05:52:42.000000Z","updated_at":"2025-12-09T05:52:42.000000Z","startdate":"2025-12-09","is_subsactive":0}] 
[2025-12-15 00:21:25] local.INFO: Day received: {"day":"15/12/25 Monday"} 
[2025-12-15 00:21:25] local.INFO: Received date: 15/12/25 Monday  
[2025-12-15 00:21:25] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-15 00:21:25] local.INFO: Strength records fetched: 0  
[2025-12-15 00:21:25] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-15 00:21:27] local.INFO: Day received: {"day":"15/12/25 Monday"} 
[2025-12-15 00:21:27] local.INFO: return Weightlifting Request Data:   
[2025-12-15 00:21:28] local.INFO: Day received: {"day":"15/12/25 Monday"} 
[2025-12-15 00:21:30] local.INFO: Received date: 15/12/25 Monday  
[2025-12-15 00:21:30] local.INFO: Day received: {"day":"15/12/25 Monday"} 
[2025-12-15 00:21:30] local.INFO: Test records fetched: 0  
[2025-12-15 00:21:30] local.INFO: Test records fetched: []  
[2025-12-15 00:21:30] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":1,"user_id":4,"firstname":"Dhasindu","lastname":"Nethmika","dob":"1986-06-27","gender":"Male","age":38,"phone":"0773602193","email":"member@example.com","address":"24 Warringa Road Frankston Vic 3199","height":175,"weight":60,"bmr":"1508.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/4EeMy9S0mCAVEZBoAzsYI2NAtDUrRJAznrIXQ7ze.jpg","created_at":"2024-07-19T03:40:00.000000Z","updated_at":"2025-12-10T10:17:05.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":7,"user_id":12,"firstname":"Tharu","lastname":"Nawanjana","dob":"2005-12-19","gender":"Female","age":19,"phone":"0770231469","email":"nawodi.priyawansha6@gmail.com","address":"28/8, flower road, colombo","height":120,"weight":60,"bmr":"1094.00","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"profile/tUte1PaKz1k2VVBp3NR3BhoYYTGUWJ0Uj1ySqP0d.jpg","created_at":"2025-12-08T10:41:20.000000Z","updated_at":"2025-12-09T04:43:53.000000Z","startdate":"2025-12-03","is_subsactive":1},{"id":8,"user_id":13,"firstname":"Imesha","lastname":"Test","dob":"1999-08-19","gender":"Female","age":26,"phone":"0771234567","email":"test@gmail.com","address":"77/A, Wegowwa, Minuwangoda","height":150,"weight":50,"bmr":"1146.50","primary_goal":"Weight Loss","subscription_level":"10 Pack","image_paths":"[]","created_at":"2025-12-09T05:52:42.000000Z","updated_at":"2025-12-09T05:52:42.000000Z","startdate":"2025-12-09","is_subsactive":0}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2025-12-15 00:21:31] local.INFO: Day received: {"day":"15/12/25 Monday"} 
[2025-12-15 00:21:32] local.INFO: Day received: {"day":"15/12/25 Monday"} 
[2025-12-15 00:21:32] local.INFO: return Weightlifting Request Data:   
[2025-12-15 00:21:34] local.INFO: Response filtered data weightlifting:  {"Weightlifting":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2025-12-15 00:21:46] local.INFO: Day received: {"day":"15/12/25 Monday"} 
[2025-12-15 00:21:47] local.INFO: Received date: 15/12/25 Monday  
[2025-12-15 00:21:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2025-12-15 00:21:47] local.INFO: Strength records fetched: 0  
[2025-12-15 00:21:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2025-12-15 00:21:47] local.INFO: Day received: {"day":"15/12/25 Monday"} 
[2026-01-12 00:08:18] local.INFO: Tab value: warmup  
[2026-01-12 00:08:18] local.INFO: Tab value: strength  
[2026-01-12 00:08:18] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:08:18] local.INFO: Tab value: conditioning  
[2026-01-12 00:08:18] local.INFO: Tab value: weightlifting  
[2026-01-12 00:08:18] local.INFO: Tab value: test  
[2026-01-12 00:08:18] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 00:08:18] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:08:18] local.INFO: Tab value: test  
[2026-01-12 00:08:32] local.INFO: Received date: 12/01/26 Monday  
[2026-01-12 00:08:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-12 00:08:32] local.INFO: Strength records fetched: 0  
[2026-01-12 00:08:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-12 00:08:32] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:08:41] local.INFO: return Weightlifting Request Data:   
[2026-01-12 00:08:41] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:09:07] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:09:08] local.INFO: Tab value: weightlifting  
[2026-01-12 00:09:08] local.INFO: Tab value: test  
[2026-01-12 00:09:08] local.INFO: Tab value: test  
[2026-01-12 00:09:08] local.INFO: Tab value: warmup  
[2026-01-12 00:09:08] local.INFO: Tab value: strength  
[2026-01-12 00:09:08] local.INFO: Tab value: conditioning  
[2026-01-12 00:09:08] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 00:09:08] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:09:11] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-12 00:09:24] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:09:24] local.INFO: Tab value: strength  
[2026-01-12 00:09:24] local.INFO: Tab value: test  
[2026-01-12 00:09:24] local.INFO: Tab value: test  
[2026-01-12 00:09:24] local.INFO: Tab value: warmup  
[2026-01-12 00:09:24] local.INFO: Tab value: weightlifting  
[2026-01-12 00:09:24] local.INFO: Tab value: conditioning  
[2026-01-12 00:09:24] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 00:09:24] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:09:27] local.INFO: Day received: {"day":"14/01/26 Wednesday"} 
[2026-01-12 00:09:30] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:09:39] local.INFO: Received date: 12/01/26 Monday  
[2026-01-12 00:09:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-12 00:09:39] local.INFO: Strength records fetched: 0  
[2026-01-12 00:09:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-12 00:09:39] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:10:34] local.INFO: Received request data: {"_token":"Ove2js99QoGBb5eCa60xxDCVpFU9fRjKBwa1niog","selectdates":"12/01/26 Monday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Barbell Squat","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","sets_14":"4","reps_14":"4","restreds_1":"00:02:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-12 00:10:34] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Barbell Squat","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","sets_14":"4","reps_14":"4","restreds_1":"00:02:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-12 00:10:34] local.INFO: Created Strength ID {"id":74} 
[2026-01-12 00:10:34] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":74} 
[2026-01-12 00:10:34] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":74} 
[2026-01-12 00:10:34] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":74} 
[2026-01-12 00:10:34] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"4","alt_set":null,"alt_reps":null,"strength_id":74} 
[2026-01-12 00:10:34] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2026-01-12 00:10:34] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '12/01/26 Monday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-12 00:10:49] local.INFO: Received request data: {"_token":"Ove2js99QoGBb5eCa60xxDCVpFU9fRjKBwa1niog","selectdates":"12/01/26 Monday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Barbell Squat","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","sets_14":"4","reps_14":"4","restreds_1":"00:02:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-12 00:10:49] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Barbell Squat","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","sets_14":"4","reps_14":"4","restreds_1":"00:02:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-12 00:10:49] local.INFO: Created Strength ID {"id":75} 
[2026-01-12 00:10:49] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":75} 
[2026-01-12 00:10:49] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":75} 
[2026-01-12 00:10:49] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":75} 
[2026-01-12 00:10:49] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"4","alt_set":null,"alt_reps":null,"strength_id":75} 
[2026-01-12 00:10:49] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2026-01-12 00:10:49] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '12/01/26 Monday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-12 00:10:50] local.INFO: Received request data: {"_token":"Ove2js99QoGBb5eCa60xxDCVpFU9fRjKBwa1niog","selectdates":"12/01/26 Monday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Barbell Squat","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","sets_14":"4","reps_14":"4","restreds_1":"00:02:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-12 00:10:50] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Barbell Squat","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","sets_14":"4","reps_14":"4","restreds_1":"00:02:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-12 00:10:50] local.INFO: Created Strength ID {"id":76} 
[2026-01-12 00:10:50] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":76} 
[2026-01-12 00:10:50] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":76} 
[2026-01-12 00:10:50] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":76} 
[2026-01-12 00:10:50] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"4","alt_set":null,"alt_reps":null,"strength_id":76} 
[2026-01-12 00:10:50] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2026-01-12 00:10:50] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '12/01/26 Monday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-12 00:10:50] local.INFO: Received request data: {"_token":"Ove2js99QoGBb5eCa60xxDCVpFU9fRjKBwa1niog","selectdates":"12/01/26 Monday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Barbell Squat","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","sets_14":"4","reps_14":"4","restreds_1":"00:02:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-12 00:10:50] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Barbell Squat","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","sets_14":"4","reps_14":"4","restreds_1":"00:02:00","restyellows_1":"00:01:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-12 00:10:50] local.INFO: Created Strength ID {"id":77} 
[2026-01-12 00:10:50] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":77} 
[2026-01-12 00:10:50] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":77} 
[2026-01-12 00:10:50] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":77} 
[2026-01-12 00:10:50] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"4","alt_set":null,"alt_reps":null,"strength_id":77} 
[2026-01-12 00:10:50] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2026-01-12 00:10:50] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '12/01/26 Monday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-12 00:10:58] local.INFO: return Strength Request Data:  {"_token":"Ove2js99QoGBb5eCa60xxDCVpFU9fRjKBwa1niog","date":"12/01/26 Monday","name":null,"category_id":"4","workout_id":null} 
[2026-01-12 00:10:58] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-12 00:11:12] local.INFO: assigned weightlifting:  {"_token":"Ove2js99QoGBb5eCa60xxDCVpFU9fRjKBwa1niog","workout_id":"74","workout_type":"strength","date":"12/01/26 Monday","assigned":"1","class_id":"80"} 
[2026-01-12 00:11:14] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:11:25] local.INFO: Received date: 12/01/26 Monday  
[2026-01-12 00:11:25] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":74,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:11:12.000000Z","workoutname":"Barbell Squat","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}],"alt_category":null,"alt_workout":null},{"id":76,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":77,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-12 00:11:25] local.INFO: Strength records fetched: 3  
[2026-01-12 00:11:25] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":74,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}]},{"id":76,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]},{"id":77,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-12 00:11:58] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:12:00] local.INFO: Response filtered data Conditioning:  {"Conditioning":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-12 00:12:01] local.INFO: Response filtered data Conditioning:  {"Conditioning":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-12 00:12:02] local.INFO: Response filtered data Conditioning:  {"Conditioning":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-12 00:20:06] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 00:20:07] local.INFO: Tab value: weightlifting  
[2026-01-12 00:20:07] local.INFO: Tab value: test  
[2026-01-12 00:20:07] local.INFO: Tab value: warmup  
[2026-01-12 00:20:07] local.INFO: Tab value: strength  
[2026-01-12 00:20:07] local.INFO: Tab value: conditioning  
[2026-01-12 00:20:07] local.INFO: Tab value: test  
[2026-01-12 00:20:07] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 00:20:07] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:00:11] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:00:11] local.INFO: Tab value: warmup  
[2026-01-12 01:00:11] local.INFO: Tab value: strength  
[2026-01-12 01:00:11] local.INFO: Tab value: conditioning  
[2026-01-12 01:00:11] local.INFO: Tab value: weightlifting  
[2026-01-12 01:00:11] local.INFO: Tab value: test  
[2026-01-12 01:00:11] local.INFO: Tab value: test  
[2026-01-12 01:00:11] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 01:00:11] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:00:39] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:00:39] local.INFO: Tab value: warmup  
[2026-01-12 01:00:39] local.INFO: Tab value: strength  
[2026-01-12 01:00:39] local.INFO: Tab value: test  
[2026-01-12 01:00:39] local.INFO: Tab value: weightlifting  
[2026-01-12 01:00:39] local.INFO: Tab value: test  
[2026-01-12 01:00:39] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 01:00:39] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:00:40] local.INFO: Tab value: conditioning  
[2026-01-12 01:01:54] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:01:54] local.INFO: Tab value: warmup  
[2026-01-12 01:01:54] local.INFO: Tab value: weightlifting  
[2026-01-12 01:01:54] local.INFO: Tab value: test  
[2026-01-12 01:01:54] local.INFO: Tab value: test  
[2026-01-12 01:01:54] local.INFO: Tab value: strength  
[2026-01-12 01:01:55] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:01:55] local.INFO: Tab value: conditioning  
[2026-01-12 01:01:55] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 01:02:57] local.INFO: Incoming Warmup Request Data:  {"_token":"HR7Gt91sSuMRi7a0YXcdkPIBlfhqFeMdbri1J5WX","selectdatew":"12/01/26 Monday","categoryw_2":"4","workoutw_2":"114","namew_2":null,"warmup_id":null,"namew_1":"James day 1","categoryw_1":"4","workoutw_1":"114","repsw_1":"5","unit_1":"%","weigthc_1":"100","male_1":null,"female_1":null} 
[2026-01-12 01:02:57] local.INFO: Processing Warmup Group #1: {"namew_1":"James day 1","categoryw_1":"4","workoutw_1":"114","repsw_1":"5","unit_1":"%","weigthc_1":"100","male_1":null,"female_1":null} 
[2026-01-12 01:02:57] local.INFO: Warmup entry saved with ID: 36  
[2026-01-12 01:02:57] local.INFO: Processing Warmup Group #2: {"categoryw_2":"4","workoutw_2":"114","namew_2":null} 
[2026-01-12 01:43:29] local.INFO: Received date: 12/01/26 Monday  
[2026-01-12 01:43:29] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":74,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:11:12.000000Z","workoutname":"Barbell Squat","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}],"alt_category":null,"alt_workout":null},{"id":76,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":77,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-12 01:43:29] local.INFO: Strength records fetched: 3  
[2026-01-12 01:43:29] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":74,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}]},{"id":76,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]},{"id":77,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-12 01:43:29] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:44:17] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:44:18] local.INFO: Tab value: warmup  
[2026-01-12 01:44:18] local.INFO: Tab value: strength  
[2026-01-12 01:44:18] local.INFO: Tab value: conditioning  
[2026-01-12 01:44:18] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 01:44:18] local.INFO: Tab value: test  
[2026-01-12 01:44:18] local.INFO: Tab value: weightlifting  
[2026-01-12 01:44:18] local.INFO: Tab value: test  
[2026-01-12 01:44:18] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:44:22] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:44:22] local.INFO: Received date: 12/01/26 Monday  
[2026-01-12 01:44:22] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":74,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:11:12.000000Z","workoutname":"Barbell Squat","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}],"alt_category":null,"alt_workout":null},{"id":76,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":77,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-12 01:44:22] local.INFO: Strength records fetched: 3  
[2026-01-12 01:44:22] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":74,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}]},{"id":76,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]},{"id":77,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-12 01:49:22] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:49:47] local.INFO: Received date: 12/01/26 Monday  
[2026-01-12 01:49:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":74,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:11:12.000000Z","workoutname":"Barbell Squat","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}],"alt_category":null,"alt_workout":null},{"id":76,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":77,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-12 01:49:47] local.INFO: Strength records fetched: 3  
[2026-01-12 01:49:47] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":74,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}]},{"id":76,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]},{"id":77,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-12 01:49:48] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:50:39] local.INFO: Received request data: {"_token":"HR7Gt91sSuMRi7a0YXcdkPIBlfhqFeMdbri1J5WX","selectdates":"12/01/26 Monday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"hhhh","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","sets_15":"5","reps_15":"5","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"medium"} 
[2026-01-12 01:50:39] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"hhhh","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","sets_15":"5","reps_15":"5","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"medium"} 
[2026-01-12 01:50:39] local.INFO: Created Strength ID {"id":78} 
[2026-01-12 01:50:39] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"strength_id":78} 
[2026-01-12 01:50:39] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","alt_set":null,"alt_reps":null,"strength_id":78} 
[2026-01-12 01:50:39] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","alt_set":null,"alt_reps":null,"strength_id":78} 
[2026-01-12 01:50:39] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","alt_set":null,"alt_reps":null,"strength_id":78} 
[2026-01-12 01:50:39] local.INFO: Saving StrengthSetRep row {"sets":"5","reps":"5","alt_set":null,"alt_reps":null,"strength_id":78} 
[2026-01-12 01:50:42] local.INFO: Received date: 12/01/26 Monday  
[2026-01-12 01:50:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":74,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:11:12.000000Z","workoutname":"Barbell Squat","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}],"alt_category":null,"alt_workout":null},{"id":76,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":77,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":78,"category_id":4,"workout_id":17,"weight":75.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z","workoutname":"hhhh","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":191,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":192,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":193,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":194,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":195,"sets":5,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-12 01:50:42] local.INFO: Strength records fetched: 4  
[2026-01-12 01:50:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":74,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}]},{"id":76,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]},{"id":77,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]},{"id":78,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"hhhh","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":191,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":192,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":193,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":194,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":195,"sets":5,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-12 01:50:42] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 01:50:54] local.INFO: assigned weightlifting:  {"_token":"HR7Gt91sSuMRi7a0YXcdkPIBlfhqFeMdbri1J5WX","workout_id":"78","workout_type":"strength","date":"12/01/26 Monday","assigned":"1","class_id":"80"} 
[2026-01-12 01:50:56] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 03:26:17] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 03:26:17] local.INFO: Tab value: weightlifting  
[2026-01-12 03:26:17] local.INFO: Tab value: test  
[2026-01-12 03:26:17] local.INFO: Tab value: warmup  
[2026-01-12 03:26:17] local.INFO: Tab value: strength  
[2026-01-12 03:26:17] local.INFO: Tab value: conditioning  
[2026-01-12 03:26:17] local.INFO: Tab value: test  
[2026-01-12 03:26:17] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 03:26:17] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 03:26:18] local.INFO: Received date: 12/01/26 Monday  
[2026-01-12 03:26:18] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":74,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:11:12.000000Z","workoutname":"Barbell Squat","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}],"alt_category":null,"alt_workout":null},{"id":76,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":77,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":78,"category_id":4,"workout_id":17,"weight":75.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:54.000000Z","workoutname":"hhhh","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":191,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":192,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":193,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":194,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":195,"sets":5,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-12 03:26:18] local.INFO: Strength records fetched: 4  
[2026-01-12 03:26:18] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":74,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}]},{"id":76,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]},{"id":77,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]},{"id":78,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"hhhh","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":191,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":192,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":193,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":194,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":195,"sets":5,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-12 03:26:18] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 04:04:54] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 04:06:56] local.INFO: Received date: 12/01/26 Monday  
[2026-01-12 04:06:56] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":74,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:11:12.000000Z","workoutname":"Barbell Squat","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}],"alt_category":null,"alt_workout":null},{"id":76,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":77,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z","workoutname":"Barbell Squat","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}],"alt_category":null,"alt_workout":null},{"id":78,"category_id":4,"workout_id":17,"weight":75.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"12/01/26 Monday","created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:54.000000Z","workoutname":"hhhh","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":191,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":192,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":193,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":194,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":195,"sets":5,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-12 04:06:56] local.INFO: Strength records fetched: 4  
[2026-01-12 04:06:56] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":74,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":175,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":176,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":177,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"},{"id":178,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":74,"created_at":"2026-01-12T00:10:34.000000Z","updated_at":"2026-01-12T00:10:34.000000Z"}]},{"id":76,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":183,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":184,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":185,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":186,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":76,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]},{"id":77,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Barbell Squat","weight":80.0,"unit":"%","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":187,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":188,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":189,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"},{"id":190,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":77,"created_at":"2026-01-12T00:10:50.000000Z","updated_at":"2026-01-12T00:10:50.000000Z"}]},{"id":78,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"hhhh","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"12/01/26 Monday","sets":[{"id":191,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":192,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":193,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":194,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"},{"id":195,"sets":5,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":78,"created_at":"2026-01-12T01:50:39.000000Z","updated_at":"2026-01-12T01:50:39.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-12 04:06:56] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 04:20:50] local.INFO: Strength progress start {"user_id":14,"workout_id":17,"member_id":9,"workout_type":"strength"} 
[2026-01-12 04:20:50] local.INFO: Strength records fetched {"strengths_count":20,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57,74,76,77,78]}} 
[2026-01-12 04:20:50] local.INFO: DailyStrength fetched {"daily_strength_count":0,"first_row":null} 
[2026-01-12 05:24:18] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 05:24:18] local.INFO: Tab value: warmup  
[2026-01-12 05:24:18] local.INFO: Tab value: conditioning  
[2026-01-12 05:24:18] local.INFO: Tab value: strength  
[2026-01-12 05:24:18] local.INFO: Tab value: weightlifting  
[2026-01-12 05:24:18] local.INFO: Tab value: test  
[2026-01-12 05:24:18] local.INFO: Tab value: test  
[2026-01-12 05:24:18] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 05:24:18] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 05:24:42] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 05:24:42] local.INFO: Tab value: warmup  
[2026-01-12 05:24:42] local.INFO: Tab value: strength  
[2026-01-12 05:24:42] local.INFO: Tab value: test  
[2026-01-12 05:24:42] local.INFO: Tab value: conditioning  
[2026-01-12 05:24:42] local.INFO: Tab value: weightlifting  
[2026-01-12 05:24:43] local.INFO: Tab value: test  
[2026-01-12 05:24:43] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 05:24:43] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 05:24:43] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 05:24:53] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 05:24:53] local.INFO: Tab value: warmup  
[2026-01-12 05:24:53] local.INFO: Tab value: conditioning  
[2026-01-12 05:24:53] local.INFO: Tab value: strength  
[2026-01-12 05:24:53] local.INFO: Tab value: weightlifting  
[2026-01-12 05:24:53] local.INFO: Tab value: test  
[2026-01-12 05:24:53] local.INFO: Tab value: test  
[2026-01-12 05:24:53] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 05:24:53] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 05:26:18] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 05:26:18] local.INFO: Tab value: warmup  
[2026-01-12 05:26:18] local.INFO: Tab value: conditioning  
[2026-01-12 05:26:18] local.INFO: Tab value: weightlifting  
[2026-01-12 05:26:18] local.INFO: Tab value: strength  
[2026-01-12 05:26:19] local.INFO: Tab value: test  
[2026-01-12 05:26:19] local.INFO: Tab value: test  
[2026-01-12 05:26:19] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-12 05:26:19] local.INFO: Day received: {"day":"12/01/26 Monday"} 
[2026-01-12 05:26:20] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-12 05:28:47] local.INFO: Incoming Warmup Request Data:  {"_token":"1Fp8P9AxvPu45di954RxqRyAajVi1dGcvk30GRlN","selectdatew":"13/01/26 Tuesday","categoryw_2":"9","namew_2":null,"warmup_id":null,"namew_1":"James day 1","categoryw_1":"9","workoutw_1":"127","repsw_1":"8","unit_1":"/10","weigthc_1":"8","male_1":null,"female_1":null,"workoutw_2":"128","repsw_2":"5","unit_2":"%","weigthc_2":"6","male_2":null,"female_2":null,"categoryw_3":"9","workoutw_3":"128","repsw_3":"5","unit_3":"%","weigthc_3":"70","male_3":null,"female_3":null} 
[2026-01-12 05:28:47] local.INFO: Processing Warmup Group #1: {"namew_1":"James day 1","categoryw_1":"9","workoutw_1":"127","repsw_1":"8","unit_1":"/10","weigthc_1":"8","male_1":null,"female_1":null} 
[2026-01-12 05:28:47] local.INFO: Warmup entry saved with ID: 37  
[2026-01-12 05:28:47] local.INFO: Processing Warmup Group #2: {"categoryw_2":"9","namew_2":null,"workoutw_2":"128","repsw_2":"5","unit_2":"%","weigthc_2":"6","male_2":null,"female_2":null} 
[2026-01-12 05:28:47] local.INFO: Warmup entry saved with ID: 38  
[2026-01-12 05:28:47] local.INFO: Processing Warmup Group #3: {"categoryw_3":"9","workoutw_3":"128","repsw_3":"5","unit_3":"%","weigthc_3":"70","male_3":null,"female_3":null} 
[2026-01-12 05:28:47] local.INFO: Warmup entry saved with ID: 39  
[2026-01-12 05:28:49] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-12 05:28:52] local.INFO: Received date: 13/01/26 Tuesday  
[2026-01-12 05:28:52] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-12 05:28:52] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-12 05:28:52] local.INFO: Strength records fetched: 0  
[2026-01-12 05:28:52] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-12 05:29:57] local.INFO: Received request data: {"_token":"1Fp8P9AxvPu45di954RxqRyAajVi1dGcvk30GRlN","selectdates":"13/01/26 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"James Day 2","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:03:00","restgreens_1":"00:02:00","intensitys_1":"medium"} 
[2026-01-12 05:29:57] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"James Day 2","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:03:00","restgreens_1":"00:02:00","intensitys_1":"medium"} 
[2026-01-12 05:29:57] local.INFO: Created Strength ID {"id":79} 
[2026-01-12 05:29:57] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"strength_id":79} 
[2026-01-12 05:29:57] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","alt_set":null,"alt_reps":null,"strength_id":79} 
[2026-01-12 05:29:57] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","alt_set":null,"alt_reps":null,"strength_id":79} 
[2026-01-12 05:29:57] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","alt_set":null,"alt_reps":null,"strength_id":79} 
[2026-01-12 05:30:00] local.INFO: Received date: 13/01/26 Tuesday  
[2026-01-12 05:30:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":79,"category_id":9,"workout_id":125,"weight":75.0,"restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/01/26 Tuesday","created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z","workoutname":"James Day 2","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":196,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":197,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":198,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":199,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-12 05:30:00] local.INFO: Strength records fetched: 1  
[2026-01-12 05:30:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":79,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"James Day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/01/26 Tuesday","sets":[{"id":196,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":197,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":198,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":199,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-12 05:30:00] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-12 05:30:12] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-12 05:30:19] local.INFO: assigned weightlifting:  {"_token":"1Fp8P9AxvPu45di954RxqRyAajVi1dGcvk30GRlN","workout_id":"37","workout_type":"warmup","date":"13/01/26 Tuesday","assigned":"1","class_id":"82"} 
[2026-01-12 05:30:21] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-12 05:30:37] local.INFO: assigned weightlifting:  {"_token":"1Fp8P9AxvPu45di954RxqRyAajVi1dGcvk30GRlN","workout_id":"38","workout_type":"warmup","date":"13/01/26 Tuesday","assigned":"1","class_id":"81"} 
[2026-01-12 05:30:39] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-12 05:30:54] local.INFO: assigned weightlifting:  {"_token":"1Fp8P9AxvPu45di954RxqRyAajVi1dGcvk30GRlN","workout_id":"39","workout_type":"warmup","date":"13/01/26 Tuesday","assigned":"1","class_id":"81"} 
[2026-01-12 05:30:56] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-12 05:31:04] local.INFO: Received date: 13/01/26 Tuesday  
[2026-01-12 05:31:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":79,"category_id":9,"workout_id":125,"weight":75.0,"restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/01/26 Tuesday","created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z","workoutname":"James Day 2","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":196,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":197,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":198,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":199,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-12 05:31:04] local.INFO: Strength records fetched: 1  
[2026-01-12 05:31:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":79,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"James Day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/01/26 Tuesday","sets":[{"id":196,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":197,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":198,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":199,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-12 05:31:04] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-12 05:31:12] local.INFO: assigned weightlifting:  {"_token":"1Fp8P9AxvPu45di954RxqRyAajVi1dGcvk30GRlN","workout_id":"79","workout_type":"strength","date":"13/01/26 Tuesday","assigned":"1","class_id":"81"} 
[2026-01-12 05:31:13] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-12 05:31:23] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-13 00:04:04] local.INFO: Tab value: warmup  
[2026-01-13 00:04:04] local.INFO: Tab value: strength  
[2026-01-13 00:04:04] local.INFO: Tab value: conditioning  
[2026-01-13 00:04:04] local.INFO: Tab value: weightlifting  
[2026-01-13 00:04:04] local.INFO: Tab value: test  
[2026-01-13 00:04:04] local.INFO: Tab value: test  
[2026-01-13 00:04:04] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-13 00:04:04] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-13 00:04:05] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-13 00:04:44] local.INFO: Incoming Warmup Request Data:  {"_token":"VLeQq1HvFSjcL8gUjFSybKcZdNczU6gJnrslucFd","selectdatew":"13/01/26 Tuesday","namew_2":null,"warmup_id":null,"namew_1":null,"categoryw_1":"9","workoutw_1":"128","repsw_1":null,"unit_1":"%","weigthc_1":"60","male_1":null,"female_1":null} 
[2026-01-13 00:04:44] local.INFO: Processing Warmup Group #1: {"namew_1":null,"categoryw_1":"9","workoutw_1":"128","repsw_1":null,"unit_1":"%","weigthc_1":"60","male_1":null,"female_1":null} 
[2026-01-13 00:04:51] local.INFO: Received date: 13/01/26 Tuesday  
[2026-01-13 00:04:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":79,"category_id":9,"workout_id":125,"weight":75.0,"restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/01/26 Tuesday","created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:31:12.000000Z","workoutname":"James Day 2","is_assigned":1,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":196,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":197,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":198,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":199,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-13 00:04:51] local.INFO: Strength records fetched: 1  
[2026-01-13 00:04:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":79,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"James Day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/01/26 Tuesday","sets":[{"id":196,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":197,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":198,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":199,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-13 00:04:51] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-13 00:06:25] local.INFO: Received request data: {"_token":"VLeQq1HvFSjcL8gUjFSybKcZdNczU6gJnrslucFd","selectdates":"13/01/26 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"Bench accessory","categorys_1":"1","workouts_1":"35","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"8","sets_12":"2","reps_12":"7","sets_13":"3","reps_13":"6","sets_14":"4","reps_14":"5","restreds_1":"00:00:45","restyellows_1":"00:00:45","restgreens_1":"00:00:45","intensitys_1":"low"} 
[2026-01-13 00:06:25] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Bench accessory","categorys_1":"1","workouts_1":"35","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"8","sets_12":"2","reps_12":"7","sets_13":"3","reps_13":"6","sets_14":"4","reps_14":"5","restreds_1":"00:00:45","restyellows_1":"00:00:45","restgreens_1":"00:00:45","intensitys_1":"low"} 
[2026-01-13 00:06:25] local.INFO: Created Strength ID {"id":80} 
[2026-01-13 00:06:25] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"8","alt_set":null,"alt_reps":null,"strength_id":80} 
[2026-01-13 00:06:25] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"7","alt_set":null,"alt_reps":null,"strength_id":80} 
[2026-01-13 00:06:25] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"6","alt_set":null,"alt_reps":null,"strength_id":80} 
[2026-01-13 00:06:25] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","alt_set":null,"alt_reps":null,"strength_id":80} 
[2026-01-13 00:06:29] local.INFO: Received date: 13/01/26 Tuesday  
[2026-01-13 00:06:29] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":79,"category_id":9,"workout_id":125,"weight":75.0,"restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/01/26 Tuesday","created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:31:12.000000Z","workoutname":"James Day 2","is_assigned":1,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":196,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":197,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":198,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":199,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"}],"alt_category":null,"alt_workout":null},{"id":80,"category_id":1,"workout_id":35,"weight":75.0,"restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/01/26 Tuesday","created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z","workoutname":"Bench accessory","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},"setstrengthsetsreps":[{"id":200,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"},{"id":201,"sets":2,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"},{"id":202,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"},{"id":203,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-13 00:06:29] local.INFO: Strength records fetched: 2  
[2026-01-13 00:06:29] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":79,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"James Day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/01/26 Tuesday","sets":[{"id":196,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":197,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":198,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":199,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"}]},{"id":80,"category_id":1,"category_name":"Horizontal pull","workout_id":35,"workout_type":"Ring row","workoutname":"Bench accessory","weight":75.0,"unit":"%","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/01/26 Tuesday","sets":[{"id":200,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"},{"id":201,"sets":2,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"},{"id":202,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"},{"id":203,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-13 00:06:29] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-13 00:06:34] local.INFO: assigned weightlifting:  {"_token":"VLeQq1HvFSjcL8gUjFSybKcZdNczU6gJnrslucFd","workout_id":"80","workout_type":"strength","date":"13/01/26 Tuesday","assigned":"1","class_id":"81"} 
[2026-01-13 00:06:36] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-13 00:06:41] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-13 00:08:55] local.INFO: Received date: 13/01/26 Tuesday  
[2026-01-13 00:08:55] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-13 00:08:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":79,"category_id":9,"workout_id":125,"weight":75.0,"restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/01/26 Tuesday","created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:31:12.000000Z","workoutname":"James Day 2","is_assigned":1,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":196,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":197,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":198,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":199,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"}],"alt_category":null,"alt_workout":null},{"id":80,"category_id":1,"workout_id":35,"weight":75.0,"restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"13/01/26 Tuesday","created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:34.000000Z","workoutname":"Bench accessory","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},"setstrengthsetsreps":[{"id":200,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"},{"id":201,"sets":2,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"},{"id":202,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"},{"id":203,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-13 00:08:55] local.INFO: Strength records fetched: 2  
[2026-01-13 00:08:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":79,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"James Day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/01/26 Tuesday","sets":[{"id":196,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":197,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":198,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"},{"id":199,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":79,"created_at":"2026-01-12T05:29:57.000000Z","updated_at":"2026-01-12T05:29:57.000000Z"}]},{"id":80,"category_id":1,"category_name":"Horizontal pull","workout_id":35,"workout_type":"Ring row","workoutname":"Bench accessory","weight":75.0,"unit":"%","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","intensity":"low","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"13/01/26 Tuesday","sets":[{"id":200,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"},{"id":201,"sets":2,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"},{"id":202,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"},{"id":203,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":80,"created_at":"2026-01-13T00:06:25.000000Z","updated_at":"2026-01-13T00:06:25.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-13 01:39:16] local.INFO: Day received: {"day":"13/01/26 Tuesday"} 
[2026-01-13 01:44:01] local.INFO: Tab value: warmup  
[2026-01-13 01:44:01] local.INFO: Tab value: strength  
[2026-01-13 01:44:01] local.INFO: Tab value: conditioning  
[2026-01-13 01:44:01] local.INFO: Tab value: weightlifting  
[2026-01-13 01:44:01] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-13 01:44:01] local.INFO: Tab value: test  
[2026-01-13 01:44:01] local.INFO: Tab value: test  
[2026-01-13 02:02:47] local.INFO: Strength progress start {"user_id":14,"workout_id":17,"member_id":9,"workout_type":"strength"} 
[2026-01-13 02:02:47] local.INFO: Strength records fetched {"strengths_count":20,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57,74,76,77,78]}} 
[2026-01-13 02:02:47] local.INFO: DailyStrength fetched {"daily_strength_count":0,"first_row":null} 
[2026-01-13 02:03:47] local.INFO: Strength progress start {"user_id":14,"workout_id":125,"member_id":9,"workout_type":"Strength"} 
[2026-01-13 08:58:17] local.INFO: Strength progress start {"user_id":2,"workout_id":17,"member_id":2,"workout_type":"strength"} 
[2026-01-13 08:58:17] local.INFO: Strength records fetched {"strengths_count":20,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57,74,76,77,78]}} 
[2026-01-13 08:58:17] local.INFO: DailyStrength fetched {"daily_strength_count":2,"first_row":{"App\\Models\\DailyStrength":{"id":4,"member_id":2,"strength_id":28,"type":"Primary","reps":6,"weight":"21","date":"12/07/25 Saturday","created_at":"2025-07-12T11:23:06.000000Z","updated_at":"2025-07-12T11:23:06.000000Z","set_number":null}}} 
[2026-01-13 19:28:03] local.INFO: Strength progress start {"user_id":2,"workout_id":17,"member_id":2,"workout_type":"strength"} 
[2026-01-13 19:28:03] local.INFO: Strength records fetched {"strengths_count":20,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57,74,76,77,78]}} 
[2026-01-13 19:28:03] local.INFO: DailyStrength fetched {"daily_strength_count":2,"first_row":{"App\\Models\\DailyStrength":{"id":4,"member_id":2,"strength_id":28,"type":"Primary","reps":6,"weight":"21","date":"12/07/25 Saturday","created_at":"2025-07-12T11:23:06.000000Z","updated_at":"2025-07-12T11:23:06.000000Z","set_number":null}}} 
[2026-01-14 01:49:55] local.INFO: Strength progress start {"user_id":2,"workout_id":17,"member_id":2,"workout_type":"strength"} 
[2026-01-14 01:49:55] local.INFO: Strength records fetched {"strengths_count":20,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57,74,76,77,78]}} 
[2026-01-14 01:49:55] local.INFO: DailyStrength fetched {"daily_strength_count":2,"first_row":{"App\\Models\\DailyStrength":{"id":4,"member_id":2,"strength_id":28,"type":"Primary","reps":6,"weight":"21","date":"12/07/25 Saturday","created_at":"2025-07-12T11:23:06.000000Z","updated_at":"2025-07-12T11:23:06.000000Z","set_number":null}}} 
[2026-01-14 01:50:02] local.INFO: Strength progress start {"user_id":2,"workout_id":126,"member_id":2,"workout_type":"Weightlifting"} 
[2026-01-14 02:15:26] local.INFO: Strength progress start {"user_id":14,"workout_id":17,"member_id":9,"workout_type":"strength"} 
[2026-01-14 02:15:26] local.INFO: Strength records fetched {"strengths_count":20,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57,74,76,77,78]}} 
[2026-01-14 02:15:26] local.INFO: DailyStrength fetched {"daily_strength_count":0,"first_row":null} 
[2026-01-14 02:16:30] local.INFO: Tab value: strength  
[2026-01-14 02:16:30] local.INFO: Tab value: warmup  
[2026-01-14 02:16:30] local.INFO: Day received: {"day":"14/01/26 Wednesday"} 
[2026-01-14 02:16:30] local.INFO: Tab value: conditioning  
[2026-01-14 02:16:30] local.INFO: Tab value: weightlifting  
[2026-01-14 02:16:30] local.INFO: Tab value: test  
[2026-01-14 02:16:30] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-14 02:16:30] local.INFO: Tab value: test  
[2026-01-14 02:16:30] local.INFO: Day received: {"day":"14/01/26 Wednesday"} 
[2026-01-14 04:37:57] local.INFO: Day received: {"day":"14/01/26 Wednesday"} 
[2026-01-14 04:37:57] local.INFO: Tab value: warmup  
[2026-01-14 04:37:58] local.INFO: Tab value: strength  
[2026-01-14 04:37:58] local.INFO: Tab value: weightlifting  
[2026-01-14 04:37:58] local.INFO: Tab value: test  
[2026-01-14 04:37:58] local.INFO: Tab value: conditioning  
[2026-01-14 04:37:58] local.INFO: Tab value: test  
[2026-01-14 04:37:58] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-14 04:37:58] local.INFO: Day received: {"day":"14/01/26 Wednesday"} 
[2026-01-14 04:38:16] local.INFO: Day received: {"day":"14/01/26 Wednesday"} 
[2026-01-14 04:38:16] local.INFO: Tab value: warmup  
[2026-01-14 04:38:17] local.INFO: Tab value: strength  
[2026-01-14 04:38:17] local.INFO: Tab value: conditioning  
[2026-01-14 04:38:17] local.INFO: Tab value: weightlifting  
[2026-01-14 04:38:17] local.INFO: Tab value: test  
[2026-01-14 04:38:17] local.INFO: Tab value: test  
[2026-01-14 04:38:17] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-14 04:38:17] local.INFO: Day received: {"day":"14/01/26 Wednesday"} 
[2026-01-14 04:38:54] local.INFO: Received date: 14/01/26 Wednesday  
[2026-01-14 04:38:54] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-14 04:38:54] local.INFO: Strength records fetched: 0  
[2026-01-14 04:38:54] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-14 04:38:54] local.INFO: Day received: {"day":"14/01/26 Wednesday"} 
[2026-01-15 00:19:29] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:19:29] local.INFO: Tab value: warmup  
[2026-01-15 00:19:29] local.INFO: Tab value: strength  
[2026-01-15 00:19:29] local.INFO: Tab value: conditioning  
[2026-01-15 00:19:29] local.INFO: Tab value: weightlifting  
[2026-01-15 00:19:29] local.INFO: Tab value: test  
[2026-01-15 00:19:29] local.INFO: Tab value: test  
[2026-01-15 00:19:29] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 00:19:29] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:19:30] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:19:47] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:19:48] local.INFO: Tab value: warmup  
[2026-01-15 00:19:48] local.INFO: Tab value: strength  
[2026-01-15 00:19:48] local.INFO: Tab value: conditioning  
[2026-01-15 00:19:48] local.INFO: Tab value: weightlifting  
[2026-01-15 00:19:48] local.INFO: Tab value: test  
[2026-01-15 00:19:48] local.INFO: Tab value: test  
[2026-01-15 00:19:48] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 00:19:48] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:20:29] local.INFO: Incoming Warmup Request Data:  {"_token":"rTt7ZpdsHCkENmp8C3wWfZWzJgxaSdHfsO3uQJjN","selectdatew":"15/01/26 Thursday","categoryw_2":"5","workoutw_2":"116","namew_2":null,"warmup_id":null,"namew_1":"DL day 1","categoryw_1":"5","workoutw_1":"116","repsw_1":"12","unit_1":"/10","weigthc_1":"8","male_1":null,"female_1":null} 
[2026-01-15 00:20:29] local.INFO: Processing Warmup Group #1: {"namew_1":"DL day 1","categoryw_1":"5","workoutw_1":"116","repsw_1":"12","unit_1":"/10","weigthc_1":"8","male_1":null,"female_1":null} 
[2026-01-15 00:20:29] local.INFO: Warmup entry saved with ID: 40  
[2026-01-15 00:20:29] local.INFO: Processing Warmup Group #2: {"categoryw_2":"5","workoutw_2":"116","namew_2":null} 
[2026-01-15 00:20:34] local.INFO: Incoming Warmup Request Data:  {"_token":"rTt7ZpdsHCkENmp8C3wWfZWzJgxaSdHfsO3uQJjN","selectdatew":"15/01/26 Thursday","categoryw_2":"5","workoutw_2":"116","namew_2":null,"warmup_id":null,"namew_1":"DL day 1","categoryw_1":"5","workoutw_1":"116","repsw_1":"12","unit_1":"/10","weigthc_1":"8","male_1":null,"female_1":null} 
[2026-01-15 00:20:34] local.INFO: Processing Warmup Group #1: {"namew_1":"DL day 1","categoryw_1":"5","workoutw_1":"116","repsw_1":"12","unit_1":"/10","weigthc_1":"8","male_1":null,"female_1":null} 
[2026-01-15 00:20:34] local.INFO: Warmup entry saved with ID: 41  
[2026-01-15 00:20:34] local.INFO: Processing Warmup Group #2: {"categoryw_2":"5","workoutw_2":"116","namew_2":null} 
[2026-01-15 00:21:31] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:21:32] local.INFO: Tab value: warmup  
[2026-01-15 00:21:32] local.INFO: Tab value: strength  
[2026-01-15 00:21:32] local.INFO: Tab value: conditioning  
[2026-01-15 00:21:32] local.INFO: Tab value: weightlifting  
[2026-01-15 00:21:32] local.INFO: Tab value: test  
[2026-01-15 00:21:32] local.INFO: Tab value: test  
[2026-01-15 00:21:32] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 00:21:32] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:22:28] local.INFO: Incoming Warmup Request Data:  {"_token":"rTt7ZpdsHCkENmp8C3wWfZWzJgxaSdHfsO3uQJjN","selectdatew":"15/01/26 Thursday","namew_2":null,"warmup_id":null,"namew_1":"DL day 1","categoryw_1":"5","workoutw_1":"129","repsw_1":"6","unit_1":"/10","weigthc_1":"7","male_1":null,"female_1":null,"categoryw_2":"5","workoutw_2":"130","repsw_2":"5","unit_2":"%","weigthc_2":"60","male_2":null,"female_2":null} 
[2026-01-15 00:22:28] local.INFO: Processing Warmup Group #1: {"namew_1":"DL day 1","categoryw_1":"5","workoutw_1":"129","repsw_1":"6","unit_1":"/10","weigthc_1":"7","male_1":null,"female_1":null} 
[2026-01-15 00:22:28] local.INFO: Warmup entry saved with ID: 42  
[2026-01-15 00:22:28] local.INFO: Processing Warmup Group #2: {"namew_2":null,"categoryw_2":"5","workoutw_2":"130","repsw_2":"5","unit_2":"%","weigthc_2":"60","male_2":null,"female_2":null} 
[2026-01-15 00:22:28] local.INFO: Warmup entry saved with ID: 43  
[2026-01-15 00:22:31] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:22:33] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 00:22:33] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:22:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-15 00:22:33] local.INFO: Strength records fetched: 0  
[2026-01-15 00:22:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 00:23:44] local.INFO: Received request data: {"_token":"rTt7ZpdsHCkENmp8C3wWfZWzJgxaSdHfsO3uQJjN","selectdates":"15/01/26 Thursday","selecttabs":"strength","categorys_2":"5","name_1":null,"strength_id":null,"names_1":"Deadlift day 2","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:00:00","intensitys_1":"medium"} 
[2026-01-15 00:23:44] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Deadlift day 2","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:00:00","intensitys_1":"medium"} 
[2026-01-15 00:23:44] local.INFO: Created Strength ID {"id":81} 
[2026-01-15 00:23:44] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"strength_id":81} 
[2026-01-15 00:23:44] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","alt_set":null,"alt_reps":null,"strength_id":81} 
[2026-01-15 00:23:44] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","alt_set":null,"alt_reps":null,"strength_id":81} 
[2026-01-15 00:23:44] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","alt_set":null,"alt_reps":null,"strength_id":81} 
[2026-01-15 00:23:44] local.INFO: processedData strenght Request Data:  {"categorys_2":"5"} 
[2026-01-15 00:23:44] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '15/01/26 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-15 00:23:49] local.INFO: Received request data: {"_token":"rTt7ZpdsHCkENmp8C3wWfZWzJgxaSdHfsO3uQJjN","selectdates":"15/01/26 Thursday","selecttabs":"strength","categorys_2":"5","name_1":null,"strength_id":null,"names_1":"Deadlift day 2","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:00:00","intensitys_1":"medium"} 
[2026-01-15 00:23:49] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Deadlift day 2","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:00:00","intensitys_1":"medium"} 
[2026-01-15 00:23:49] local.INFO: Created Strength ID {"id":82} 
[2026-01-15 00:23:49] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"strength_id":82} 
[2026-01-15 00:23:49] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","alt_set":null,"alt_reps":null,"strength_id":82} 
[2026-01-15 00:23:49] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","alt_set":null,"alt_reps":null,"strength_id":82} 
[2026-01-15 00:23:49] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","alt_set":null,"alt_reps":null,"strength_id":82} 
[2026-01-15 00:23:49] local.INFO: processedData strenght Request Data:  {"categorys_2":"5"} 
[2026-01-15 00:23:49] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '15/01/26 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-15 00:23:52] local.INFO: Received request data: {"_token":"rTt7ZpdsHCkENmp8C3wWfZWzJgxaSdHfsO3uQJjN","selectdates":"15/01/26 Thursday","selecttabs":"strength","categorys_2":"5","name_1":null,"strength_id":null,"names_1":"Deadlift day 2","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:00:00","intensitys_1":"medium"} 
[2026-01-15 00:23:52] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Deadlift day 2","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:00:00","intensitys_1":"medium"} 
[2026-01-15 00:23:52] local.INFO: Created Strength ID {"id":83} 
[2026-01-15 00:23:52] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"strength_id":83} 
[2026-01-15 00:23:52] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","alt_set":null,"alt_reps":null,"strength_id":83} 
[2026-01-15 00:23:52] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","alt_set":null,"alt_reps":null,"strength_id":83} 
[2026-01-15 00:23:52] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","alt_set":null,"alt_reps":null,"strength_id":83} 
[2026-01-15 00:23:52] local.INFO: processedData strenght Request Data:  {"categorys_2":"5"} 
[2026-01-15 00:23:52] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '15/01/26 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-15 00:24:02] local.INFO: Received request data: {"_token":"rTt7ZpdsHCkENmp8C3wWfZWzJgxaSdHfsO3uQJjN","selectdates":"15/01/26 Thursday","selecttabs":"strength","categorys_2":"5","workouts_2":"71","name_1":null,"strength_id":null,"names_1":"Deadlift day 2","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:00:00","intensitys_1":"medium"} 
[2026-01-15 00:24:02] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Deadlift day 2","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:00:00","intensitys_1":"medium"} 
[2026-01-15 00:24:02] local.INFO: Created Strength ID {"id":84} 
[2026-01-15 00:24:02] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"strength_id":84} 
[2026-01-15 00:24:02] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","alt_set":null,"alt_reps":null,"strength_id":84} 
[2026-01-15 00:24:02] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","alt_set":null,"alt_reps":null,"strength_id":84} 
[2026-01-15 00:24:02] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","alt_set":null,"alt_reps":null,"strength_id":84} 
[2026-01-15 00:24:02] local.INFO: processedData strenght Request Data:  {"categorys_2":"5","workouts_2":"71"} 
[2026-01-15 00:24:02] local.ERROR: Undefined array key "weigths" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"weigths\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:68)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 68)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(68): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 68)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '15/01/26 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-15 00:24:03] local.INFO: Received request data: {"_token":"rTt7ZpdsHCkENmp8C3wWfZWzJgxaSdHfsO3uQJjN","selectdates":"15/01/26 Thursday","selecttabs":"strength","categorys_2":"5","workouts_2":"71","name_1":null,"strength_id":null,"names_1":"Deadlift day 2","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:00:00","intensitys_1":"medium"} 
[2026-01-15 00:24:03] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Deadlift day 2","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:00:00","intensitys_1":"medium"} 
[2026-01-15 00:24:03] local.INFO: Created Strength ID {"id":85} 
[2026-01-15 00:24:03] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"strength_id":85} 
[2026-01-15 00:24:03] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","alt_set":null,"alt_reps":null,"strength_id":85} 
[2026-01-15 00:24:03] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","alt_set":null,"alt_reps":null,"strength_id":85} 
[2026-01-15 00:24:03] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","alt_set":null,"alt_reps":null,"strength_id":85} 
[2026-01-15 00:24:03] local.INFO: processedData strenght Request Data:  {"categorys_2":"5","workouts_2":"71"} 
[2026-01-15 00:24:03] local.ERROR: Undefined array key "weigths" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"weigths\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:68)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 68)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(68): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 68)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '15/01/26 Thursd...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-15 00:24:11] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:24:12] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 00:24:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":81,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":204,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":205,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":206,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":207,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"}],"alt_category":null,"alt_workout":null},{"id":82,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":208,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":209,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":210,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":211,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"}],"alt_category":null,"alt_workout":null},{"id":83,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":212,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"},{"id":213,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"},{"id":214,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"},{"id":215,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"}],"alt_category":null,"alt_workout":null},{"id":84,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:02.000000Z","updated_at":"2026-01-15T00:24:02.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":216,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":84,"created_at":"2026-01-15T00:24:02.000000Z","updated_at":"2026-01-15T00:24:02.000000Z"},{"id":217,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":84,"created_at":"2026-01-15T00:24:02.000000Z","updated_at":"2026-01-15T00:24:02.000000Z"},{"id":218,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":84,"created_at":"2026-01-15T00:24:02.000000Z","updated_at":"2026-01-15T00:24:02.000000Z"},{"id":219,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":84,"created_at":"2026-01-15T00:24:02.000000Z","updated_at":"2026-01-15T00:24:02.000000Z"}],"alt_category":null,"alt_workout":null},{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 00:24:12] local.INFO: Strength records fetched: 5  
[2026-01-15 00:24:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":81,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":204,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":205,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":206,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":207,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"}]},{"id":82,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":208,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":209,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":210,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":211,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"}]},{"id":83,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":212,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"},{"id":213,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"},{"id":214,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"},{"id":215,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"}]},{"id":84,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":216,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":84,"created_at":"2026-01-15T00:24:02.000000Z","updated_at":"2026-01-15T00:24:02.000000Z"},{"id":217,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":84,"created_at":"2026-01-15T00:24:02.000000Z","updated_at":"2026-01-15T00:24:02.000000Z"},{"id":218,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":84,"created_at":"2026-01-15T00:24:02.000000Z","updated_at":"2026-01-15T00:24:02.000000Z"},{"id":219,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":84,"created_at":"2026-01-15T00:24:02.000000Z","updated_at":"2026-01-15T00:24:02.000000Z"}]},{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 00:24:12] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:24:21] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 00:24:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":81,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":204,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":205,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":206,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":207,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"}],"alt_category":null,"alt_workout":null},{"id":82,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":208,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":209,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":210,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":211,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"}],"alt_category":null,"alt_workout":null},{"id":83,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":212,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"},{"id":213,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"},{"id":214,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"},{"id":215,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"}],"alt_category":null,"alt_workout":null},{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 00:24:21] local.INFO: Strength records fetched: 4  
[2026-01-15 00:24:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":81,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":204,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":205,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":206,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":207,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"}]},{"id":82,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":208,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":209,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":210,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":211,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"}]},{"id":83,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":212,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"},{"id":213,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"},{"id":214,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"},{"id":215,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":83,"created_at":"2026-01-15T00:23:52.000000Z","updated_at":"2026-01-15T00:23:52.000000Z"}]},{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 00:24:26] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 00:24:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":81,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":204,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":205,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":206,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":207,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"}],"alt_category":null,"alt_workout":null},{"id":82,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":208,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":209,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":210,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":211,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"}],"alt_category":null,"alt_workout":null},{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 00:24:26] local.INFO: Strength records fetched: 3  
[2026-01-15 00:24:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":81,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":204,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":205,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":206,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":207,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"}]},{"id":82,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":208,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":209,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":210,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"},{"id":211,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":82,"created_at":"2026-01-15T00:23:49.000000Z","updated_at":"2026-01-15T00:23:49.000000Z"}]},{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 00:24:30] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 00:24:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":81,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":204,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":205,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":206,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":207,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"}],"alt_category":null,"alt_workout":null},{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 00:24:30] local.INFO: Strength records fetched: 2  
[2026-01-15 00:24:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":81,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":204,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":205,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":206,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"},{"id":207,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":81,"created_at":"2026-01-15T00:23:44.000000Z","updated_at":"2026-01-15T00:23:44.000000Z"}]},{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 00:24:34] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 00:24:34] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 00:24:34] local.INFO: Strength records fetched: 1  
[2026-01-15 00:24:34] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 00:24:38] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:24:50] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:24:50] local.INFO: Tab value: warmup  
[2026-01-15 00:24:50] local.INFO: Tab value: strength  
[2026-01-15 00:24:50] local.INFO: Tab value: conditioning  
[2026-01-15 00:24:50] local.INFO: Tab value: weightlifting  
[2026-01-15 00:24:50] local.INFO: Tab value: test  
[2026-01-15 00:24:50] local.INFO: Tab value: test  
[2026-01-15 00:24:50] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 00:24:50] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:24:51] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 00:24:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 00:24:51] local.INFO: Strength records fetched: 1  
[2026-01-15 00:24:51] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:24:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 00:25:07] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:29:06] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:29:07] local.INFO: Tab value: warmup  
[2026-01-15 00:29:07] local.INFO: Tab value: conditioning  
[2026-01-15 00:29:07] local.INFO: Tab value: strength  
[2026-01-15 00:29:07] local.INFO: Tab value: test  
[2026-01-15 00:29:07] local.INFO: Tab value: weightlifting  
[2026-01-15 00:29:07] local.INFO: Tab value: test  
[2026-01-15 00:29:07] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 00:29:07] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 00:29:08] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:30:48] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:30:48] local.INFO: Tab value: warmup  
[2026-01-15 01:30:48] local.INFO: Tab value: conditioning  
[2026-01-15 01:30:48] local.INFO: Tab value: strength  
[2026-01-15 01:30:49] local.INFO: Tab value: weightlifting  
[2026-01-15 01:30:49] local.INFO: Tab value: test  
[2026-01-15 01:30:49] local.INFO: Tab value: test  
[2026-01-15 01:30:49] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 01:30:49] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:30:51] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:31:06] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:31:39] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:31:39] local.INFO: Tab value: strength  
[2026-01-15 01:31:39] local.INFO: Tab value: conditioning  
[2026-01-15 01:31:39] local.INFO: Tab value: warmup  
[2026-01-15 01:31:40] local.INFO: Tab value: weightlifting  
[2026-01-15 01:31:40] local.INFO: Tab value: test  
[2026-01-15 01:31:40] local.INFO: Tab value: test  
[2026-01-15 01:31:40] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:31:40] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 01:31:44] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:32:07] local.INFO: return Weightlifting Request Data:   
[2026-01-15 01:32:07] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:32:09] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:32:09] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 01:32:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 01:32:09] local.INFO: Strength records fetched: 1  
[2026-01-15 01:32:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 01:32:15] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:32:20] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:32:22] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 01:32:22] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 01:32:22] local.INFO: Strength records fetched: 1  
[2026-01-15 01:32:22] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 01:32:22] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:34:24] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:34:24] local.INFO: Tab value: warmup  
[2026-01-15 01:34:24] local.INFO: Tab value: conditioning  
[2026-01-15 01:34:24] local.INFO: Tab value: strength  
[2026-01-15 01:34:24] local.INFO: Tab value: weightlifting  
[2026-01-15 01:34:24] local.INFO: Tab value: test  
[2026-01-15 01:34:24] local.INFO: Tab value: test  
[2026-01-15 01:34:24] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 01:34:24] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:34:40] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 01:34:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 01:34:40] local.INFO: Strength records fetched: 1  
[2026-01-15 01:34:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 01:34:40] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:34:45] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:36:49] local.ERROR: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' (Connection: mysql, SQL: update `users` set `name` = Laiton Frisk, `email` = laitonfrisk@gmail.com, `users`.`updated_at` = 2026-01-15 01:36:49 where `id` = 10) {"userId":1,"exception":"[object] (Illuminate\\Database\\UniqueConstraintViolationException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' (Connection: mysql, SQL: update `users` set `name` = Laiton Frisk, `email` = laitonfrisk@gmail.com, `users`.`updated_at` = 2026-01-15 01:36:49 where `id` = 10) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:824)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `users` ...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `users` ...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `users` ...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `users` ...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AccessController.php(47): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AccessController->setData(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('setData', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccessController), 'setData')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:612)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(612): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `users` ...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `users` ...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `users` ...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `users` ...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `users` ...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AccessController.php(47): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AccessController->setData(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('setData', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccessController), 'setData')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-01-15 01:38:34] local.ERROR: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' (Connection: mysql, SQL: update `users` set `email` = laitonfrisk@gmail.com, `users`.`updated_at` = 2026-01-15 01:38:34 where `id` = 10) {"userId":1,"exception":"[object] (Illuminate\\Database\\UniqueConstraintViolationException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' (Connection: mysql, SQL: update `users` set `email` = laitonfrisk@gmail.com, `users`.`updated_at` = 2026-01-15 01:38:34 where `id` = 10) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:824)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `users` ...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `users` ...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `users` ...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `users` ...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AccessController.php(47): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AccessController->setData(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('setData', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccessController), 'setData')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:612)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(612): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `users` ...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `users` ...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `users` ...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `users` ...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `users` ...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AccessController.php(47): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AccessController->setData(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('setData', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccessController), 'setData')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-01-15 01:38:40] local.ERROR: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' (Connection: mysql, SQL: update `users` set `email` = laitonfrisk@gmail.com, `users`.`updated_at` = 2026-01-15 01:38:40 where `id` = 10) {"userId":1,"exception":"[object] (Illuminate\\Database\\UniqueConstraintViolationException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' (Connection: mysql, SQL: update `users` set `email` = laitonfrisk@gmail.com, `users`.`updated_at` = 2026-01-15 01:38:40 where `id` = 10) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:824)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `users` ...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `users` ...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `users` ...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `users` ...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AccessController.php(47): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AccessController->setData(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('setData', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccessController), 'setData')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:612)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(612): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `users` ...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `users` ...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `users` ...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `users` ...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `users` ...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AccessController.php(47): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AccessController->setData(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('setData', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccessController), 'setData')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-01-15 01:38:50] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:38:50] local.INFO: Tab value: warmup  
[2026-01-15 01:38:50] local.INFO: Tab value: conditioning  
[2026-01-15 01:38:50] local.INFO: Tab value: strength  
[2026-01-15 01:38:50] local.INFO: Tab value: weightlifting  
[2026-01-15 01:38:50] local.INFO: Tab value: test  
[2026-01-15 01:38:50] local.INFO: Tab value: test  
[2026-01-15 01:38:50] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 01:38:50] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:45:13] local.ERROR: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' (Connection: mysql, SQL: update `users` set `email` = laitonfrisk@gmail.com, `users`.`updated_at` = 2026-01-15 01:45:13 where `id` = 10) {"userId":1,"exception":"[object] (Illuminate\\Database\\UniqueConstraintViolationException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' (Connection: mysql, SQL: update `users` set `email` = laitonfrisk@gmail.com, `users`.`updated_at` = 2026-01-15 01:45:13 where `id` = 10) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:824)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `users` ...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `users` ...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `users` ...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `users` ...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AccessController.php(47): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AccessController->setData(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('setData', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccessController), 'setData')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:612)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(612): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `users` ...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `users` ...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `users` ...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `users` ...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `users` ...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AccessController.php(47): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AccessController->setData(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('setData', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccessController), 'setData')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-01-15 01:45:27] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 01:45:27] local.INFO: Tab value: test  
[2026-01-15 01:45:27] local.INFO: Tab value: weightlifting  
[2026-01-15 01:45:27] local.INFO: Tab value: warmup  
[2026-01-15 01:45:27] local.INFO: Tab value: conditioning  
[2026-01-15 01:45:27] local.INFO: Tab value: strength  
[2026-01-15 01:45:27] local.INFO: Tab value: test  
[2026-01-15 01:45:27] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 01:45:27] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 02:04:38] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 02:09:41] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 02:09:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 02:09:41] local.INFO: Strength records fetched: 1  
[2026-01-15 02:09:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 02:09:41] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 02:29:34] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 02:29:34] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 02:29:34] local.INFO: Strength records fetched: 1  
[2026-01-15 02:29:34] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 02:29:34] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:34] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:34] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:34] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:35] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:35] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:35] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:35] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:36] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:36] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:36] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:36] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:37] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:37] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:37] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:37] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:37] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:37] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:37] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:37] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:37] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:37] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:44] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 02:29:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 02:29:44] local.INFO: Strength records fetched: 1  
[2026-01-15 02:29:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 02:29:44] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:44] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:45] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:45] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:45] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:45] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:45] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:45] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:45] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:45] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:45] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:45] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:45] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:45] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:45] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:45] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:46] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:46] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:46] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:46] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:46] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:46] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:46] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:46] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:46] local.INFO: return Strength Request Data:  {"_token":"OPw2RK4aRC88VWuWjtjTgynm7FWJIXvLkMoO4etu","date":"15/01/26 Thursday","name":null,"category_id":null,"workout_id":null} 
[2026-01-15 02:29:46] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:29:49] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 02:29:49] local.INFO: Tab value: strength  
[2026-01-15 02:29:49] local.INFO: Tab value: warmup  
[2026-01-15 02:29:49] local.INFO: Tab value: weightlifting  
[2026-01-15 02:29:49] local.INFO: Tab value: test  
[2026-01-15 02:29:50] local.INFO: Tab value: test  
[2026-01-15 02:29:50] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 02:29:50] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 02:29:50] local.INFO: Tab value: conditioning  
[2026-01-15 02:29:53] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 02:29:53] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 02:29:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":85,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"15/01/26 Thursday","created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z","workoutname":"Deadlift day 2","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 02:29:53] local.INFO: Strength records fetched: 1  
[2026-01-15 02:29:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":85,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"Deadlift day 2","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:00:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"15/01/26 Thursday","sets":[{"id":220,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":221,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":222,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"},{"id":223,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":85,"created_at":"2026-01-15T00:24:03.000000Z","updated_at":"2026-01-15T00:24:03.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 02:29:58] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 02:29:58] local.INFO: return Weightlifting Request Data:   
[2026-01-15 02:30:00] local.INFO: return Weightlifting Request Data:   
[2026-01-15 02:30:01] local.INFO: Response filtered data weightlifting:  {"Weightlifting":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:30:01] local.INFO: Response filtered data weightlifting:  {"Weightlifting":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:30:01] local.INFO: Response filtered data weightlifting:  {"Weightlifting":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 02:30:05] local.INFO: Received date: 15/01/26 Thursday  
[2026-01-15 02:30:05] local.INFO: Day received: {"day":"15/01/26 Thursday"} 
[2026-01-15 02:30:05] local.INFO: Test records fetched: 0  
[2026-01-15 02:30:05] local.INFO: Test records fetched: []  
[2026-01-15 02:30:05] local.INFO: Response data: {"message":"Test data successfully retrieved.","Test":{"Illuminate\\Database\\Eloquent\\Collection":[]},"Members":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}]},"categoryOptions":{"Illuminate\\Support\\Collection":[{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}]}} 
[2026-01-15 22:12:52] local.INFO: Day received: {"day":"16/01/26 Friday"} 
[2026-01-15 22:12:52] local.INFO: Tab value: warmup  
[2026-01-15 22:12:52] local.INFO: Tab value: strength  
[2026-01-15 22:12:52] local.INFO: Tab value: conditioning  
[2026-01-15 22:12:52] local.INFO: Tab value: test  
[2026-01-15 22:12:53] local.INFO: Tab value: weightlifting  
[2026-01-15 22:12:53] local.INFO: Tab value: test  
[2026-01-15 22:12:53] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 22:12:53] local.INFO: Day received: {"day":"16/01/26 Friday"} 
[2026-01-15 22:13:13] local.INFO: Day received: {"day":"16/01/26 Friday"} 
[2026-01-15 22:13:13] local.INFO: Tab value: warmup  
[2026-01-15 22:13:13] local.INFO: Tab value: strength  
[2026-01-15 22:13:13] local.INFO: Tab value: conditioning  
[2026-01-15 22:13:13] local.INFO: Tab value: weightlifting  
[2026-01-15 22:13:13] local.INFO: Tab value: test  
[2026-01-15 22:13:14] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-15 22:13:14] local.INFO: Day received: {"day":"16/01/26 Friday"} 
[2026-01-15 22:13:14] local.INFO: Tab value: test  
[2026-01-15 22:14:40] local.INFO: Incoming Warmup Request Data:  {"_token":"exfFtkQfyApOnDOolaJKj1tfKEUwXiPsrqQMeiW7","selectdatew":"16/01/26 Friday","categoryw_2":"5","namew_2":null,"warmup_id":null,"namew_1":"James DL","categoryw_1":"5","workoutw_1":"129","repsw_1":"10","unit_1":"%","weigthc_1":"30","male_1":null,"female_1":null,"workoutw_2":"130","repsw_2":"5","unit_2":"%","weigthc_2":"60","male_2":null,"female_2":null} 
[2026-01-15 22:14:40] local.INFO: Processing Warmup Group #1: {"namew_1":"James DL","categoryw_1":"5","workoutw_1":"129","repsw_1":"10","unit_1":"%","weigthc_1":"30","male_1":null,"female_1":null} 
[2026-01-15 22:14:40] local.INFO: Warmup entry saved with ID: 44  
[2026-01-15 22:14:40] local.INFO: Processing Warmup Group #2: {"categoryw_2":"5","namew_2":null,"workoutw_2":"130","repsw_2":"5","unit_2":"%","weigthc_2":"60","male_2":null,"female_2":null} 
[2026-01-15 22:14:40] local.INFO: Warmup entry saved with ID: 45  
[2026-01-15 22:14:42] local.INFO: Day received: {"day":"16/01/26 Friday"} 
[2026-01-15 22:14:51] local.INFO: Received date: 16/01/26 Friday  
[2026-01-15 22:14:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-15 22:14:51] local.INFO: Strength records fetched: 0  
[2026-01-15 22:14:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 22:14:51] local.INFO: Day received: {"day":"16/01/26 Friday"} 
[2026-01-15 22:14:59] local.INFO: return Strength Request Data:  {"_token":"exfFtkQfyApOnDOolaJKj1tfKEUwXiPsrqQMeiW7","date":"16/01/26 Friday","name":null,"category_id":"5","workout_id":"71"} 
[2026-01-15 22:14:59] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-15 22:15:53] local.INFO: Received request data: {"_token":"exfFtkQfyApOnDOolaJKj1tfKEUwXiPsrqQMeiW7","selectdates":"16/01/26 Friday","selecttabs":"strength","categorys_2":"5","workouts_2":"71","name_1":null,"strength_id":null,"names_1":"James DL","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-15 22:15:53] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"James DL","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-15 22:15:53] local.INFO: Created Strength ID {"id":86} 
[2026-01-15 22:15:53] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"strength_id":86} 
[2026-01-15 22:15:53] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","alt_set":null,"alt_reps":null,"strength_id":86} 
[2026-01-15 22:15:53] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","alt_set":null,"alt_reps":null,"strength_id":86} 
[2026-01-15 22:15:53] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","alt_set":null,"alt_reps":null,"strength_id":86} 
[2026-01-15 22:15:53] local.INFO: processedData strenght Request Data:  {"categorys_2":"5","workouts_2":"71"} 
[2026-01-15 22:15:53] local.ERROR: Undefined array key "weigths" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"weigths\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:68)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 68)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(68): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 68)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '16/01/26 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-15 22:15:59] local.INFO: Received request data: {"_token":"exfFtkQfyApOnDOolaJKj1tfKEUwXiPsrqQMeiW7","selectdates":"16/01/26 Friday","selecttabs":"strength","categorys_2":"5","workouts_2":"71","name_1":null,"strength_id":null,"names_1":"James DL","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-15 22:15:59] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"James DL","categorys_1":"5","workouts_1":"71","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-15 22:15:59] local.INFO: Created Strength ID {"id":87} 
[2026-01-15 22:15:59] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"strength_id":87} 
[2026-01-15 22:15:59] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","alt_set":null,"alt_reps":null,"strength_id":87} 
[2026-01-15 22:15:59] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","alt_set":null,"alt_reps":null,"strength_id":87} 
[2026-01-15 22:15:59] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","alt_set":null,"alt_reps":null,"strength_id":87} 
[2026-01-15 22:15:59] local.INFO: processedData strenght Request Data:  {"categorys_2":"5","workouts_2":"71"} 
[2026-01-15 22:15:59] local.ERROR: Undefined array key "weigths" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"weigths\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:68)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 68)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(68): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 68)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '16/01/26 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-15 22:17:01] local.INFO: Day received: {"day":"16/01/26 Friday"} 
[2026-01-15 22:17:04] local.INFO: Received date: 16/01/26 Friday  
[2026-01-15 22:17:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":86,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"16/01/26 Friday","created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z","workoutname":"James DL","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":224,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"},{"id":225,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"},{"id":226,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"},{"id":227,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"}],"alt_category":null,"alt_workout":null},{"id":87,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"16/01/26 Friday","created_at":"2026-01-15T22:15:59.000000Z","updated_at":"2026-01-15T22:15:59.000000Z","workoutname":"James DL","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":228,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":87,"created_at":"2026-01-15T22:15:59.000000Z","updated_at":"2026-01-15T22:15:59.000000Z"},{"id":229,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":87,"created_at":"2026-01-15T22:15:59.000000Z","updated_at":"2026-01-15T22:15:59.000000Z"},{"id":230,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":87,"created_at":"2026-01-15T22:15:59.000000Z","updated_at":"2026-01-15T22:15:59.000000Z"},{"id":231,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":87,"created_at":"2026-01-15T22:15:59.000000Z","updated_at":"2026-01-15T22:15:59.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 22:17:04] local.INFO: Strength records fetched: 2  
[2026-01-15 22:17:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":86,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"James DL","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"16/01/26 Friday","sets":[{"id":224,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"},{"id":225,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"},{"id":226,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"},{"id":227,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"}]},{"id":87,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"James DL","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"16/01/26 Friday","sets":[{"id":228,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":87,"created_at":"2026-01-15T22:15:59.000000Z","updated_at":"2026-01-15T22:15:59.000000Z"},{"id":229,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":87,"created_at":"2026-01-15T22:15:59.000000Z","updated_at":"2026-01-15T22:15:59.000000Z"},{"id":230,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":87,"created_at":"2026-01-15T22:15:59.000000Z","updated_at":"2026-01-15T22:15:59.000000Z"},{"id":231,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":87,"created_at":"2026-01-15T22:15:59.000000Z","updated_at":"2026-01-15T22:15:59.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 22:17:04] local.INFO: Day received: {"day":"16/01/26 Friday"} 
[2026-01-15 22:17:35] local.INFO: Received date: 16/01/26 Friday  
[2026-01-15 22:17:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":86,"category_id":5,"workout_id":71,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"16/01/26 Friday","created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z","workoutname":"James DL","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":224,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"},{"id":225,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"},{"id":226,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"},{"id":227,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-15 22:17:35] local.INFO: Strength records fetched: 1  
[2026-01-15 22:17:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":86,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"James DL","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"16/01/26 Friday","sets":[{"id":224,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"},{"id":225,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"},{"id":226,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"},{"id":227,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":86,"created_at":"2026-01-15T22:15:53.000000Z","updated_at":"2026-01-15T22:15:53.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-15 22:17:47] local.INFO: assigned weightlifting:  {"_token":"exfFtkQfyApOnDOolaJKj1tfKEUwXiPsrqQMeiW7","workout_id":"86","workout_type":"strength","date":"16/01/26 Friday","assigned":"1","class_id":"84"} 
[2026-01-15 22:17:54] local.INFO: Day received: {"day":"16/01/26 Friday"} 
[2026-01-15 22:17:56] local.INFO: Day received: {"day":"16/01/26 Friday"} 
[2026-01-16 01:38:53] local.ERROR: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' (Connection: mysql, SQL: update `users` set `email` = laitonfrisk@gmail.com, `users`.`updated_at` = 2026-01-16 01:38:53 where `id` = 10) {"userId":1,"exception":"[object] (Illuminate\\Database\\UniqueConstraintViolationException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' (Connection: mysql, SQL: update `users` set `email` = laitonfrisk@gmail.com, `users`.`updated_at` = 2026-01-16 01:38:53 where `id` = 10) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:824)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `users` ...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `users` ...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `users` ...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `users` ...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AccessController.php(47): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AccessController->setData(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('setData', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccessController), 'setData')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:612)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(612): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `users` ...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `users` ...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `users` ...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `users` ...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `users` ...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AccessController.php(47): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AccessController->setData(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('setData', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccessController), 'setData')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-01-16 01:38:59] local.INFO: Day received: {"day":"16/01/26 Friday"} 
[2026-01-16 01:38:59] local.INFO: Tab value: warmup  
[2026-01-16 01:38:59] local.INFO: Tab value: strength  
[2026-01-16 01:38:59] local.INFO: Tab value: conditioning  
[2026-01-16 01:38:59] local.INFO: Tab value: test  
[2026-01-16 01:38:59] local.INFO: Tab value: test  
[2026-01-16 01:38:59] local.INFO: Tab value: weightlifting  
[2026-01-16 01:38:59] local.INFO: Day received: {"day":"16/01/26 Friday"} 
[2026-01-16 01:38:59] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-16 01:39:31] local.ERROR: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' (Connection: mysql, SQL: update `users` set `email` = laitonfrisk@gmail.com, `users`.`updated_at` = 2026-01-16 01:39:31 where `id` = 10) {"userId":1,"exception":"[object] (Illuminate\\Database\\UniqueConstraintViolationException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' (Connection: mysql, SQL: update `users` set `email` = laitonfrisk@gmail.com, `users`.`updated_at` = 2026-01-16 01:39:31 where `id` = 10) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:824)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `users` ...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `users` ...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `users` ...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `users` ...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AccessController.php(47): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AccessController->setData(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('setData', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccessController), 'setData')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'laitonfrisk@gmail.com' for key 'users_email_unique' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:612)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(612): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `users` ...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `users` ...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `users` ...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `users` ...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `users` ...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/AccessController.php(47): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AccessController->setData(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('setData', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccessController), 'setData')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-01-16 03:11:18] local.INFO: Strength progress start {"user_id":2,"workout_id":17,"member_id":2,"workout_type":"strength"} 
[2026-01-16 03:11:18] local.INFO: Strength records fetched {"strengths_count":20,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57,74,76,77,78]}} 
[2026-01-16 03:11:18] local.INFO: DailyStrength fetched {"daily_strength_count":2,"first_row":{"App\\Models\\DailyStrength":{"id":4,"member_id":2,"strength_id":28,"type":"Primary","reps":6,"weight":"21","date":"12/07/25 Saturday","created_at":"2025-07-12T11:23:06.000000Z","updated_at":"2025-07-12T11:23:06.000000Z","set_number":null}}} 
[2026-01-16 05:00:36] local.INFO: storeconditioningdaily function called.  
[2026-01-16 05:00:36] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-01-16 05:00:36] local.INFO: Received conditioning payload: {"conditioningItems":[]} 
[2026-01-16 05:00:37] local.INFO: storeconditioningdaily function called.  
[2026-01-16 05:00:37] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-01-16 05:00:37] local.INFO: Received conditioning payload: {"conditioningItems":[]} 
[2026-01-18 23:46:08] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:46:09] local.INFO: Tab value: warmup  
[2026-01-18 23:46:09] local.INFO: Tab value: strength  
[2026-01-18 23:46:09] local.INFO: Tab value: conditioning  
[2026-01-18 23:46:09] local.INFO: Tab value: test  
[2026-01-18 23:46:09] local.INFO: Tab value: test  
[2026-01-18 23:46:09] local.INFO: Tab value: weightlifting  
[2026-01-18 23:46:09] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-18 23:46:09] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:47:22] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:47:23] local.INFO: Tab value: warmup  
[2026-01-18 23:47:23] local.INFO: Tab value: strength  
[2026-01-18 23:47:23] local.INFO: Tab value: conditioning  
[2026-01-18 23:47:23] local.INFO: Tab value: weightlifting  
[2026-01-18 23:47:23] local.INFO: Tab value: test  
[2026-01-18 23:47:23] local.INFO: Tab value: test  
[2026-01-18 23:47:23] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-18 23:47:23] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:48:09] local.INFO: Incoming Warmup Request Data:  {"_token":"veaTnc1fHAAip3NWFmDFwSiqy5YTMxUyUx4PHeLI","selectdatew":"19/01/26 Monday","namew_2":null,"warmup_id":null,"namew_1":"19/01/26","categoryw_1":"4","workoutw_1":"114","repsw_1":"10","unit_1":"/10","weigthc_1":"3","male_1":null,"female_1":null} 
[2026-01-18 23:48:09] local.INFO: Processing Warmup Group #1: {"namew_1":"19/01/26","categoryw_1":"4","workoutw_1":"114","repsw_1":"10","unit_1":"/10","weigthc_1":"3","male_1":null,"female_1":null} 
[2026-01-18 23:48:09] local.INFO: Warmup entry saved with ID: 46  
[2026-01-18 23:48:09] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-01-18 23:48:41] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:48:42] local.INFO: Tab value: warmup  
[2026-01-18 23:48:42] local.INFO: Tab value: strength  
[2026-01-18 23:48:42] local.INFO: Tab value: conditioning  
[2026-01-18 23:48:42] local.INFO: Tab value: weightlifting  
[2026-01-18 23:48:42] local.INFO: Tab value: test  
[2026-01-18 23:48:42] local.INFO: Tab value: test  
[2026-01-18 23:48:42] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-18 23:48:42] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:49:35] local.INFO: Incoming Warmup Request Data:  {"_token":"veaTnc1fHAAip3NWFmDFwSiqy5YTMxUyUx4PHeLI","selectdatew":"19/01/26 Monday","namew_2":null,"warmup_id":null,"namew_1":null,"categoryw_1":"4","workoutw_1":"114","repsw_1":null,"unit_1":"/10","weigthc_1":null,"male_1":null,"female_1":null,"categoryw_2":"4","workoutw_2":"134","repsw_2":"5","unit_2":"%","weigthc_2":"30","male_2":null,"female_2":null,"categoryw_3":"4","workoutw_3":"134","repsw_3":"5","unit_3":"%","weigthc_3":"60","male_3":null,"female_3":null} 
[2026-01-18 23:49:35] local.INFO: Processing Warmup Group #1: {"namew_1":null,"categoryw_1":"4","workoutw_1":"114","repsw_1":null,"unit_1":"/10","weigthc_1":null,"male_1":null,"female_1":null} 
[2026-01-18 23:49:41] local.INFO: return Weightlifting Request Data:   
[2026-01-18 23:49:41] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:49:42] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:49:46] local.INFO: assigned weightlifting:  {"_token":"veaTnc1fHAAip3NWFmDFwSiqy5YTMxUyUx4PHeLI","workout_id":"46","workout_type":"warmup","date":"19/01/26 Monday","assigned":"1","class_id":"85"} 
[2026-01-18 23:49:48] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:49:51] local.INFO: Incoming Warmup Request Data:  {"_token":"veaTnc1fHAAip3NWFmDFwSiqy5YTMxUyUx4PHeLI","selectdatew":"19/01/26 Monday","namew_2":null,"warmup_id":null,"namew_1":null,"categoryw_1":"4","workoutw_1":"114","repsw_1":null,"unit_1":"/10","weigthc_1":null,"male_1":null,"female_1":null,"categoryw_2":"4","workoutw_2":"134","repsw_2":"5","unit_2":"%","weigthc_2":"30","male_2":null,"female_2":null,"categoryw_3":"4","workoutw_3":"134","repsw_3":"5","unit_3":"%","weigthc_3":"60","male_3":null,"female_3":null} 
[2026-01-18 23:49:51] local.INFO: Processing Warmup Group #1: {"namew_1":null,"categoryw_1":"4","workoutw_1":"114","repsw_1":null,"unit_1":"/10","weigthc_1":null,"male_1":null,"female_1":null} 
[2026-01-18 23:50:01] local.INFO: assigned weightlifting:  {"_token":"veaTnc1fHAAip3NWFmDFwSiqy5YTMxUyUx4PHeLI","workout_id":"46","workout_type":"warmup","date":"19/01/26 Monday","assigned":"0"} 
[2026-01-18 23:50:04] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:50:06] local.INFO: assigned weightlifting:  {"_token":"veaTnc1fHAAip3NWFmDFwSiqy5YTMxUyUx4PHeLI","workout_id":"46","workout_type":"warmup","date":"19/01/26 Monday","assigned":"1","class_id":"85"} 
[2026-01-18 23:50:08] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:50:14] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:50:14] local.INFO: Received date: 19/01/26 Monday  
[2026-01-18 23:50:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-18 23:50:14] local.INFO: Strength records fetched: 0  
[2026-01-18 23:50:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-18 23:51:16] local.INFO: Received request data: {"_token":"veaTnc1fHAAip3NWFmDFwSiqy5YTMxUyUx4PHeLI","selectdates":"19/01/26 Monday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"19/01/26","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:30","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-18 23:51:16] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"19/01/26","categorys_1":"4","workouts_1":"17","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"5","sets_12":"2","reps_12":"5","sets_13":"3","reps_13":"5","sets_14":"4","reps_14":"5","restreds_1":"00:04:00","restyellows_1":"00:02:30","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-18 23:51:16] local.INFO: Created Strength ID {"id":88} 
[2026-01-18 23:51:16] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","alt_set":null,"alt_reps":null,"strength_id":88} 
[2026-01-18 23:51:16] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","alt_set":null,"alt_reps":null,"strength_id":88} 
[2026-01-18 23:51:16] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","alt_set":null,"alt_reps":null,"strength_id":88} 
[2026-01-18 23:51:16] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","alt_set":null,"alt_reps":null,"strength_id":88} 
[2026-01-18 23:51:20] local.INFO: Received date: 19/01/26 Monday  
[2026-01-18 23:51:20] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":88,"category_id":4,"workout_id":17,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:30","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"19/01/26 Monday","created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z","workoutname":"19/01/26","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":232,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":233,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":234,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":235,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-18 23:51:20] local.INFO: Strength records fetched: 1  
[2026-01-18 23:51:20] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":88,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"19/01/26","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:30","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"19/01/26 Monday","sets":[{"id":232,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":233,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":234,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":235,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-18 23:51:20] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:52:15] local.INFO: Received request data: {"_token":"veaTnc1fHAAip3NWFmDFwSiqy5YTMxUyUx4PHeLI","selectdates":"19/01/26 Monday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"19/01/26","categorys_1":"5","workouts_1":"80","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"8","sets_12":"2","reps_12":"8","sets_13":"3","reps_13":"8","sets_14":"4","reps_14":"8","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"medium"} 
[2026-01-18 23:52:15] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"19/01/26","categorys_1":"5","workouts_1":"80","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"8","sets_12":"2","reps_12":"8","sets_13":"3","reps_13":"8","sets_14":"4","reps_14":"8","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"medium"} 
[2026-01-18 23:52:15] local.INFO: Created Strength ID {"id":89} 
[2026-01-18 23:52:15] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"8","alt_set":null,"alt_reps":null,"strength_id":89} 
[2026-01-18 23:52:15] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"8","alt_set":null,"alt_reps":null,"strength_id":89} 
[2026-01-18 23:52:15] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"8","alt_set":null,"alt_reps":null,"strength_id":89} 
[2026-01-18 23:52:15] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"8","alt_set":null,"alt_reps":null,"strength_id":89} 
[2026-01-18 23:52:17] local.INFO: Received date: 19/01/26 Monday  
[2026-01-18 23:52:17] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":88,"category_id":4,"workout_id":17,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:30","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"19/01/26 Monday","created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z","workoutname":"19/01/26","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":232,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":233,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":234,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":235,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"}],"alt_category":null,"alt_workout":null},{"id":89,"category_id":5,"workout_id":80,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"19/01/26 Monday","created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z","workoutname":"19/01/26","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},"setstrengthsetsreps":[{"id":236,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"},{"id":237,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"},{"id":238,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"},{"id":239,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-18 23:52:17] local.INFO: Strength records fetched: 2  
[2026-01-18 23:52:17] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":88,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"19/01/26","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:30","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"19/01/26 Monday","sets":[{"id":232,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":233,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":234,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":235,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"}]},{"id":89,"category_id":5,"category_name":"Hinge","workout_id":80,"workout_type":"GHD extension","workoutname":"19/01/26","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"19/01/26 Monday","sets":[{"id":236,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"},{"id":237,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"},{"id":238,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"},{"id":239,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-18 23:52:18] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:52:21] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-18 23:52:44] local.INFO: Received date: 19/01/26 Monday  
[2026-01-18 23:52:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":88,"category_id":4,"workout_id":17,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:30","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"19/01/26 Monday","created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z","workoutname":"19/01/26","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":232,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":233,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":234,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":235,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"}],"alt_category":null,"alt_workout":null},{"id":89,"category_id":5,"workout_id":80,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"19/01/26 Monday","created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z","workoutname":"19/01/26","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},"setstrengthsetsreps":[{"id":236,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"},{"id":237,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"},{"id":238,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"},{"id":239,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-18 23:52:44] local.INFO: Strength records fetched: 2  
[2026-01-18 23:52:44] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":88,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"19/01/26","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:30","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"19/01/26 Monday","sets":[{"id":232,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":233,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":234,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"},{"id":235,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":88,"created_at":"2026-01-18T23:51:16.000000Z","updated_at":"2026-01-18T23:51:16.000000Z"}]},{"id":89,"category_id":5,"category_name":"Hinge","workout_id":80,"workout_type":"GHD extension","workoutname":"19/01/26","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"19/01/26 Monday","sets":[{"id":236,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"},{"id":237,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"},{"id":238,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"},{"id":239,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":89,"created_at":"2026-01-18T23:52:15.000000Z","updated_at":"2026-01-18T23:52:15.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-18 23:52:44] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:26:03] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:26:03] local.INFO: Tab value: warmup  
[2026-01-19 03:26:03] local.INFO: Tab value: strength  
[2026-01-19 03:26:03] local.INFO: Tab value: conditioning  
[2026-01-19 03:26:03] local.INFO: Tab value: test  
[2026-01-19 03:26:03] local.INFO: Tab value: weightlifting  
[2026-01-19 03:26:03] local.INFO: Tab value: test  
[2026-01-19 03:26:03] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-19 03:26:03] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:26:07] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:26:24] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:26:25] local.INFO: Tab value: warmup  
[2026-01-19 03:26:25] local.INFO: Tab value: strength  
[2026-01-19 03:26:25] local.INFO: Tab value: conditioning  
[2026-01-19 03:26:25] local.INFO: Tab value: test  
[2026-01-19 03:26:25] local.INFO: Tab value: weightlifting  
[2026-01-19 03:26:25] local.INFO: Tab value: test  
[2026-01-19 03:26:25] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-19 03:26:25] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:26:28] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:26:37] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:26:37] local.INFO: Tab value: warmup  
[2026-01-19 03:26:37] local.INFO: Tab value: strength  
[2026-01-19 03:26:37] local.INFO: Tab value: conditioning  
[2026-01-19 03:26:38] local.INFO: Tab value: weightlifting  
[2026-01-19 03:26:38] local.INFO: Tab value: test  
[2026-01-19 03:26:38] local.INFO: Tab value: test  
[2026-01-19 03:26:38] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-19 03:26:38] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:26:38] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:28:08] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:28:09] local.INFO: Tab value: warmup  
[2026-01-19 03:28:09] local.INFO: Tab value: strength  
[2026-01-19 03:28:09] local.INFO: Tab value: weightlifting  
[2026-01-19 03:28:09] local.INFO: Tab value: conditioning  
[2026-01-19 03:28:09] local.INFO: Tab value: test  
[2026-01-19 03:28:09] local.INFO: Tab value: test  
[2026-01-19 03:28:09] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-19 03:28:09] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:28:28] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:28:40] local.INFO: return Weightlifting Request Data:   
[2026-01-19 03:28:40] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 03:28:47] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 07:39:15] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 07:39:15] local.INFO: Tab value: warmup  
[2026-01-19 07:39:15] local.INFO: Tab value: strength  
[2026-01-19 07:39:15] local.INFO: Tab value: conditioning  
[2026-01-19 07:39:15] local.INFO: Tab value: weightlifting  
[2026-01-19 07:39:15] local.INFO: Tab value: test  
[2026-01-19 07:39:15] local.INFO: Tab value: test  
[2026-01-19 07:39:16] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-19 07:39:16] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 07:39:31] local.INFO: Incoming Warmup Request Data:  {"_token":"lVVMtFBkIjxh1dkOJt3z9o5dwZHxvIHtTizveckr","selectdatew":"19/01/26 Monday","namew_2":null,"warmup_id":null,"namew_1":"warmup01","categoryw_1":"1","workoutw_1":"106","repsw_1":"4","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2026-01-19 07:39:31] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup01","categoryw_1":"1","workoutw_1":"106","repsw_1":"4","unit_1":"/10","weigthc_1":"5","male_1":null,"female_1":null} 
[2026-01-19 07:39:31] local.INFO: Warmup entry saved with ID: 47  
[2026-01-19 07:39:31] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-01-19 07:39:36] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 07:39:36] local.INFO: Tab value: warmup  
[2026-01-19 07:39:36] local.INFO: Tab value: strength  
[2026-01-19 07:39:36] local.INFO: Tab value: conditioning  
[2026-01-19 07:39:36] local.INFO: Tab value: weightlifting  
[2026-01-19 07:39:36] local.INFO: Tab value: test  
[2026-01-19 07:39:36] local.INFO: Tab value: test  
[2026-01-19 07:39:37] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-19 07:39:37] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 07:39:40] local.INFO: assigned weightlifting:  {"_token":"lVVMtFBkIjxh1dkOJt3z9o5dwZHxvIHtTizveckr","workout_id":"47","workout_type":"warmup","date":"19/01/26 Monday","assigned":"1","class_id":"85"} 
[2026-01-19 07:39:41] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 08:06:26] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-19 08:06:26] local.INFO: Tab value: warmup  
[2026-01-19 08:06:27] local.INFO: Tab value: strength  
[2026-01-19 08:06:27] local.INFO: Tab value: conditioning  
[2026-01-19 08:06:27] local.INFO: Tab value: weightlifting  
[2026-01-19 08:06:27] local.INFO: Tab value: test  
[2026-01-19 08:06:27] local.INFO: Tab value: test  
[2026-01-19 08:06:27] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-19 08:06:27] local.INFO: Day received: {"day":"19/01/26 Monday"} 
[2026-01-21 00:50:01] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:50:01] local.INFO: Tab value: warmup  
[2026-01-21 00:50:01] local.INFO: Tab value: strength  
[2026-01-21 00:50:01] local.INFO: Tab value: conditioning  
[2026-01-21 00:50:01] local.INFO: Tab value: weightlifting  
[2026-01-21 00:50:01] local.INFO: Tab value: test  
[2026-01-21 00:50:01] local.INFO: Tab value: test  
[2026-01-21 00:50:01] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:50:01] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-21 00:50:57] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:50:58] local.INFO: Tab value: warmup  
[2026-01-21 00:50:58] local.INFO: Tab value: conditioning  
[2026-01-21 00:50:58] local.INFO: Tab value: strength  
[2026-01-21 00:50:58] local.INFO: Tab value: weightlifting  
[2026-01-21 00:50:58] local.INFO: Tab value: test  
[2026-01-21 00:50:58] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-21 00:50:58] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:50:58] local.INFO: Tab value: test  
[2026-01-21 00:51:20] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:51:20] local.INFO: Tab value: warmup  
[2026-01-21 00:51:21] local.INFO: Tab value: strength  
[2026-01-21 00:51:21] local.INFO: Tab value: conditioning  
[2026-01-21 00:51:21] local.INFO: Tab value: weightlifting  
[2026-01-21 00:51:21] local.INFO: Tab value: test  
[2026-01-21 00:51:21] local.INFO: Tab value: test  
[2026-01-21 00:51:21] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-21 00:51:21] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:52:35] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:52:35] local.INFO: Tab value: warmup  
[2026-01-21 00:52:35] local.INFO: Tab value: strength  
[2026-01-21 00:52:35] local.INFO: Tab value: conditioning  
[2026-01-21 00:52:35] local.INFO: Tab value: weightlifting  
[2026-01-21 00:52:35] local.INFO: Tab value: test  
[2026-01-21 00:52:35] local.INFO: Tab value: test  
[2026-01-21 00:52:35] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-21 00:52:35] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:53:33] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:53:33] local.INFO: Tab value: warmup  
[2026-01-21 00:53:34] local.INFO: Tab value: strength  
[2026-01-21 00:53:34] local.INFO: Tab value: conditioning  
[2026-01-21 00:53:34] local.INFO: Tab value: test  
[2026-01-21 00:53:34] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-21 00:53:34] local.INFO: Tab value: test  
[2026-01-21 00:53:34] local.INFO: Tab value: weightlifting  
[2026-01-21 00:53:34] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:54:10] local.INFO: Incoming Warmup Request Data:  {"_token":"1Aut7oiO4vnQeaVdjX3g88UGRMooxlmBd3fL0FNZ","selectdatew":"21/01/26 Wednesday","namew_2":null,"warmup_id":null,"namew_1":"21/01/26","categoryw_1":"8","workoutw_1":"139","repsw_1":"1","unit_1":"%","weigthc_1":"75","male_1":null,"female_1":null} 
[2026-01-21 00:54:10] local.INFO: Processing Warmup Group #1: {"namew_1":"21/01/26","categoryw_1":"8","workoutw_1":"139","repsw_1":"1","unit_1":"%","weigthc_1":"75","male_1":null,"female_1":null} 
[2026-01-21 00:54:10] local.INFO: Warmup entry saved with ID: 48  
[2026-01-21 00:54:10] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-01-21 00:54:16] local.INFO: Incoming Warmup Request Data:  {"_token":"1Aut7oiO4vnQeaVdjX3g88UGRMooxlmBd3fL0FNZ","selectdatew":"21/01/26 Wednesday","namew_2":null,"warmup_id":null,"namew_1":"21/01/26","categoryw_1":"8","workoutw_1":"139","repsw_1":"1","unit_1":"%","weigthc_1":"75","male_1":null,"female_1":null} 
[2026-01-21 00:54:16] local.INFO: Processing Warmup Group #1: {"namew_1":"21/01/26","categoryw_1":"8","workoutw_1":"139","repsw_1":"1","unit_1":"%","weigthc_1":"75","male_1":null,"female_1":null} 
[2026-01-21 00:54:16] local.INFO: Warmup entry saved with ID: 49  
[2026-01-21 00:54:16] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-01-21 00:54:20] local.INFO: Received date: 21/01/26 Wednesday  
[2026-01-21 00:54:20] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-21 00:54:20] local.INFO: Strength records fetched: 0  
[2026-01-21 00:54:20] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-21 00:54:20] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:55:54] local.INFO: Received request data: {"_token":"1Aut7oiO4vnQeaVdjX3g88UGRMooxlmBd3fL0FNZ","selectdates":"21/01/26 Wednesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"21/01/26","categorys_1":"6","workouts_1":"137","unit_1":"%","weigths_1":"165","setsid_1":null,"sets_1":"1","reps_1":"1","sets_12":"2","reps_12":"1","sets_13":"3","reps_13":"1","sets_14":"4","reps_14":"1","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-01-21 00:55:54] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"21/01/26","categorys_1":"6","workouts_1":"137","unit_1":"%","weigths_1":"165","setsid_1":null,"sets_1":"1","reps_1":"1","sets_12":"2","reps_12":"1","sets_13":"3","reps_13":"1","sets_14":"4","reps_14":"1","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-01-21 00:55:54] local.INFO: Created Strength ID {"id":90} 
[2026-01-21 00:55:54] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"1","alt_set":null,"alt_reps":null,"strength_id":90} 
[2026-01-21 00:55:54] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"1","alt_set":null,"alt_reps":null,"strength_id":90} 
[2026-01-21 00:55:54] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"1","alt_set":null,"alt_reps":null,"strength_id":90} 
[2026-01-21 00:55:54] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"1","alt_set":null,"alt_reps":null,"strength_id":90} 
[2026-01-21 00:55:56] local.INFO: Received date: 21/01/26 Wednesday  
[2026-01-21 00:55:56] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":90,"category_id":6,"workout_id":137,"weight":165.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},"setstrengthsetsreps":[{"id":240,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":241,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":242,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":243,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-21 00:55:56] local.INFO: Strength records fetched: 1  
[2026-01-21 00:55:56] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":90,"category_id":6,"category_name":"Carry/Oly","workout_id":137,"workout_type":"Sled drag","workoutname":"21/01/26","weight":165.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":240,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":241,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":242,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":243,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-21 00:55:57] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:56:56] local.INFO: Received request data: {"_token":"1Aut7oiO4vnQeaVdjX3g88UGRMooxlmBd3fL0FNZ","selectdates":"21/01/26 Wednesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"21/01/26","categorys_1":"6","workouts_1":"138","unit_1":"%","weigths_1":"140","setsid_1":null,"sets_1":"1","reps_1":"1","sets_12":"2","reps_12":"1","sets_13":"3","reps_13":"1","sets_14":"4","reps_14":"1","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-01-21 00:56:56] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"21/01/26","categorys_1":"6","workouts_1":"138","unit_1":"%","weigths_1":"140","setsid_1":null,"sets_1":"1","reps_1":"1","sets_12":"2","reps_12":"1","sets_13":"3","reps_13":"1","sets_14":"4","reps_14":"1","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-01-21 00:56:56] local.INFO: Created Strength ID {"id":91} 
[2026-01-21 00:56:56] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"1","alt_set":null,"alt_reps":null,"strength_id":91} 
[2026-01-21 00:56:56] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"1","alt_set":null,"alt_reps":null,"strength_id":91} 
[2026-01-21 00:56:56] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"1","alt_set":null,"alt_reps":null,"strength_id":91} 
[2026-01-21 00:56:56] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"1","alt_set":null,"alt_reps":null,"strength_id":91} 
[2026-01-21 00:56:58] local.INFO: Received date: 21/01/26 Wednesday  
[2026-01-21 00:56:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":90,"category_id":6,"workout_id":137,"weight":165.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},"setstrengthsetsreps":[{"id":240,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":241,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":242,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":243,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"}],"alt_category":null,"alt_workout":null},{"id":91,"category_id":6,"workout_id":138,"weight":140.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},"setstrengthsetsreps":[{"id":244,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":245,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":246,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":247,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-21 00:56:58] local.INFO: Strength records fetched: 2  
[2026-01-21 00:56:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":90,"category_id":6,"category_name":"Carry/Oly","workout_id":137,"workout_type":"Sled drag","workoutname":"21/01/26","weight":165.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":240,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":241,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":242,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":243,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"}]},{"id":91,"category_id":6,"category_name":"Carry/Oly","workout_id":138,"workout_type":"sled push","workoutname":"21/01/26","weight":140.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":244,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":245,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":246,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":247,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-21 00:56:59] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:58:34] local.INFO: Received request data: {"_token":"1Aut7oiO4vnQeaVdjX3g88UGRMooxlmBd3fL0FNZ","selectdates":"21/01/26 Wednesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"21/01/26","categorys_1":"6","workouts_1":"136","unit_1":"%","weigths_1":"115","setsid_1":null,"sets_1":"1","reps_1":"1","sets_12":"2","reps_12":"1","sets_13":"3","reps_13":"1","sets_14":"4","reps_14":"1","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-01-21 00:58:34] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"21/01/26","categorys_1":"6","workouts_1":"136","unit_1":"%","weigths_1":"115","setsid_1":null,"sets_1":"1","reps_1":"1","sets_12":"2","reps_12":"1","sets_13":"3","reps_13":"1","sets_14":"4","reps_14":"1","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-01-21 00:58:34] local.INFO: Created Strength ID {"id":92} 
[2026-01-21 00:58:34] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"1","alt_set":null,"alt_reps":null,"strength_id":92} 
[2026-01-21 00:58:34] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"1","alt_set":null,"alt_reps":null,"strength_id":92} 
[2026-01-21 00:58:34] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"1","alt_set":null,"alt_reps":null,"strength_id":92} 
[2026-01-21 00:58:34] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"1","alt_set":null,"alt_reps":null,"strength_id":92} 
[2026-01-21 00:58:37] local.INFO: Received date: 21/01/26 Wednesday  
[2026-01-21 00:58:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":90,"category_id":6,"workout_id":137,"weight":165.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},"setstrengthsetsreps":[{"id":240,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":241,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":242,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":243,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"}],"alt_category":null,"alt_workout":null},{"id":91,"category_id":6,"workout_id":138,"weight":140.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},"setstrengthsetsreps":[{"id":244,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":245,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":246,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":247,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"}],"alt_category":null,"alt_workout":null},{"id":92,"category_id":6,"workout_id":136,"weight":115.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},"setstrengthsetsreps":[{"id":248,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":249,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":250,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":251,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-21 00:58:37] local.INFO: Strength records fetched: 3  
[2026-01-21 00:58:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":90,"category_id":6,"category_name":"Carry/Oly","workout_id":137,"workout_type":"Sled drag","workoutname":"21/01/26","weight":165.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":240,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":241,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":242,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":243,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"}]},{"id":91,"category_id":6,"category_name":"Carry/Oly","workout_id":138,"workout_type":"sled push","workoutname":"21/01/26","weight":140.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":244,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":245,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":246,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":247,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"}]},{"id":92,"category_id":6,"category_name":"Carry/Oly","workout_id":136,"workout_type":"Sled pull","workoutname":"21/01/26","weight":115.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":248,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":249,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":250,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":251,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-21 00:58:37] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 00:59:42] local.INFO: Received request data: {"_token":"1Aut7oiO4vnQeaVdjX3g88UGRMooxlmBd3fL0FNZ","selectdates":"21/01/26 Wednesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"21/01/26","categorys_1":"6","workouts_1":"81","unit_1":"%","weigths_1":"150","setsid_1":null,"sets_1":"1","reps_1":"1","sets_12":"2","reps_12":"1","sets_13":"3","reps_13":"1","sets_14":"4","reps_14":"1","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-01-21 00:59:42] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"21/01/26","categorys_1":"6","workouts_1":"81","unit_1":"%","weigths_1":"150","setsid_1":null,"sets_1":"1","reps_1":"1","sets_12":"2","reps_12":"1","sets_13":"3","reps_13":"1","sets_14":"4","reps_14":"1","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-01-21 00:59:42] local.INFO: Created Strength ID {"id":93} 
[2026-01-21 00:59:42] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"1","alt_set":null,"alt_reps":null,"strength_id":93} 
[2026-01-21 00:59:42] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"1","alt_set":null,"alt_reps":null,"strength_id":93} 
[2026-01-21 00:59:42] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"1","alt_set":null,"alt_reps":null,"strength_id":93} 
[2026-01-21 00:59:42] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"1","alt_set":null,"alt_reps":null,"strength_id":93} 
[2026-01-21 00:59:46] local.INFO: Received date: 21/01/26 Wednesday  
[2026-01-21 00:59:46] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":90,"category_id":6,"workout_id":137,"weight":165.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},"setstrengthsetsreps":[{"id":240,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":241,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":242,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":243,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"}],"alt_category":null,"alt_workout":null},{"id":91,"category_id":6,"workout_id":138,"weight":140.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},"setstrengthsetsreps":[{"id":244,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":245,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":246,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":247,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"}],"alt_category":null,"alt_workout":null},{"id":92,"category_id":6,"workout_id":136,"weight":115.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},"setstrengthsetsreps":[{"id":248,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":249,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":250,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":251,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"}],"alt_category":null,"alt_workout":null},{"id":93,"category_id":6,"workout_id":81,"weight":150.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":252,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"},{"id":253,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"},{"id":254,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"},{"id":255,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-21 00:59:46] local.INFO: Strength records fetched: 4  
[2026-01-21 00:59:46] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":90,"category_id":6,"category_name":"Carry/Oly","workout_id":137,"workout_type":"Sled drag","workoutname":"21/01/26","weight":165.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":240,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":241,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":242,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":243,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"}]},{"id":91,"category_id":6,"category_name":"Carry/Oly","workout_id":138,"workout_type":"sled push","workoutname":"21/01/26","weight":140.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":244,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":245,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":246,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":247,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"}]},{"id":92,"category_id":6,"category_name":"Carry/Oly","workout_id":136,"workout_type":"Sled pull","workoutname":"21/01/26","weight":115.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":248,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":249,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":250,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":251,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"}]},{"id":93,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"21/01/26","weight":150.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":252,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"},{"id":253,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"},{"id":254,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"},{"id":255,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-21 00:59:46] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 01:01:30] local.INFO: Received request data: {"_token":"1Aut7oiO4vnQeaVdjX3g88UGRMooxlmBd3fL0FNZ","selectdates":"21/01/26 Wednesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"21/01/26","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","sets_14":"4","reps_14":"4","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-21 01:01:30] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"21/01/26","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"75","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":"4","sets_13":"3","reps_13":"4","sets_14":"4","reps_14":"4","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-21 01:01:30] local.INFO: Created Strength ID {"id":94} 
[2026-01-21 01:01:30] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":94} 
[2026-01-21 01:01:30] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","alt_set":null,"alt_reps":null,"strength_id":94} 
[2026-01-21 01:01:30] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","alt_set":null,"alt_reps":null,"strength_id":94} 
[2026-01-21 01:01:30] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"4","alt_set":null,"alt_reps":null,"strength_id":94} 
[2026-01-21 01:01:32] local.INFO: Received date: 21/01/26 Wednesday  
[2026-01-21 01:01:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":90,"category_id":6,"workout_id":137,"weight":165.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},"setstrengthsetsreps":[{"id":240,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":241,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":242,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":243,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"}],"alt_category":null,"alt_workout":null},{"id":91,"category_id":6,"workout_id":138,"weight":140.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},"setstrengthsetsreps":[{"id":244,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":245,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":246,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":247,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"}],"alt_category":null,"alt_workout":null},{"id":92,"category_id":6,"workout_id":136,"weight":115.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},"setstrengthsetsreps":[{"id":248,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":249,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":250,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":251,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"}],"alt_category":null,"alt_workout":null},{"id":93,"category_id":6,"workout_id":81,"weight":150.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":252,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"},{"id":253,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"},{"id":254,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"},{"id":255,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"}],"alt_category":null,"alt_workout":null},{"id":94,"category_id":9,"workout_id":125,"weight":75.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"21/01/26 Wednesday","created_at":"2026-01-21T01:01:30.000000Z","updated_at":"2026-01-21T01:01:30.000000Z","workoutname":"21/01/26","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":256,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":94,"created_at":"2026-01-21T01:01:30.000000Z","updated_at":"2026-01-21T01:01:30.000000Z"},{"id":257,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":94,"created_at":"2026-01-21T01:01:30.000000Z","updated_at":"2026-01-21T01:01:30.000000Z"},{"id":258,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":94,"created_at":"2026-01-21T01:01:30.000000Z","updated_at":"2026-01-21T01:01:30.000000Z"},{"id":259,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":94,"created_at":"2026-01-21T01:01:30.000000Z","updated_at":"2026-01-21T01:01:30.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-21 01:01:32] local.INFO: Strength records fetched: 5  
[2026-01-21 01:01:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":90,"category_id":6,"category_name":"Carry/Oly","workout_id":137,"workout_type":"Sled drag","workoutname":"21/01/26","weight":165.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":240,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":241,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":242,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"},{"id":243,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":90,"created_at":"2026-01-21T00:55:54.000000Z","updated_at":"2026-01-21T00:55:54.000000Z"}]},{"id":91,"category_id":6,"category_name":"Carry/Oly","workout_id":138,"workout_type":"sled push","workoutname":"21/01/26","weight":140.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":244,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":245,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":246,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"},{"id":247,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":91,"created_at":"2026-01-21T00:56:56.000000Z","updated_at":"2026-01-21T00:56:56.000000Z"}]},{"id":92,"category_id":6,"category_name":"Carry/Oly","workout_id":136,"workout_type":"Sled pull","workoutname":"21/01/26","weight":115.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":248,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":249,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":250,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"},{"id":251,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":92,"created_at":"2026-01-21T00:58:34.000000Z","updated_at":"2026-01-21T00:58:34.000000Z"}]},{"id":93,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"21/01/26","weight":150.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":252,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"},{"id":253,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"},{"id":254,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"},{"id":255,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":93,"created_at":"2026-01-21T00:59:42.000000Z","updated_at":"2026-01-21T00:59:42.000000Z"}]},{"id":94,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"21/01/26","weight":75.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"21/01/26 Wednesday","sets":[{"id":256,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":94,"created_at":"2026-01-21T01:01:30.000000Z","updated_at":"2026-01-21T01:01:30.000000Z"},{"id":257,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":94,"created_at":"2026-01-21T01:01:30.000000Z","updated_at":"2026-01-21T01:01:30.000000Z"},{"id":258,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":94,"created_at":"2026-01-21T01:01:30.000000Z","updated_at":"2026-01-21T01:01:30.000000Z"},{"id":259,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":94,"created_at":"2026-01-21T01:01:30.000000Z","updated_at":"2026-01-21T01:01:30.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-21 01:01:33] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 01:01:41] local.INFO: assigned weightlifting:  {"_token":"1Aut7oiO4vnQeaVdjX3g88UGRMooxlmBd3fL0FNZ","workout_id":"90","workout_type":"strength","date":"21/01/26 Wednesday","assigned":"1","class_id":"88"} 
[2026-01-21 01:01:43] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 01:01:56] local.INFO: assigned weightlifting:  {"_token":"1Aut7oiO4vnQeaVdjX3g88UGRMooxlmBd3fL0FNZ","workout_id":"91","workout_type":"strength","date":"21/01/26 Wednesday","assigned":"1","class_id":"88"} 
[2026-01-21 01:01:58] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 01:02:04] local.INFO: assigned weightlifting:  {"_token":"1Aut7oiO4vnQeaVdjX3g88UGRMooxlmBd3fL0FNZ","workout_id":"92","workout_type":"strength","date":"21/01/26 Wednesday","assigned":"1","class_id":"88"} 
[2026-01-21 01:02:06] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 01:02:14] local.INFO: assigned weightlifting:  {"_token":"1Aut7oiO4vnQeaVdjX3g88UGRMooxlmBd3fL0FNZ","workout_id":"93","workout_type":"strength","date":"21/01/26 Wednesday","assigned":"1","class_id":"88"} 
[2026-01-21 01:02:16] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-21 01:02:24] local.INFO: assigned weightlifting:  {"_token":"1Aut7oiO4vnQeaVdjX3g88UGRMooxlmBd3fL0FNZ","workout_id":"94","workout_type":"strength","date":"21/01/26 Wednesday","assigned":"1","class_id":"88"} 
[2026-01-21 01:02:26] local.INFO: Day received: {"day":"21/01/26 Wednesday"} 
[2026-01-22 02:52:23] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 02:52:23] local.INFO: Tab value: strength  
[2026-01-22 02:52:23] local.INFO: Tab value: conditioning  
[2026-01-22 02:52:23] local.INFO: Tab value: warmup  
[2026-01-22 02:52:23] local.INFO: Tab value: weightlifting  
[2026-01-22 02:52:23] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 02:52:23] local.INFO: Tab value: test  
[2026-01-22 02:52:23] local.INFO: Tab value: test  
[2026-01-22 02:52:23] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-22 02:52:26] local.INFO: Received date: 22/01/26 Thursday  
[2026-01-22 02:52:26] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 02:52:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-22 02:52:26] local.INFO: Strength records fetched: 0  
[2026-01-22 02:52:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-22 02:52:30] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 02:52:30] local.INFO: return Weightlifting Request Data:   
[2026-01-22 02:52:33] local.INFO: Received date: 22/01/26 Thursday  
[2026-01-22 02:52:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-22 02:52:33] local.INFO: Strength records fetched: 0  
[2026-01-22 02:52:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-22 02:52:33] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 02:57:44] local.INFO: return Weightlifting Request Data:   
[2026-01-22 02:57:44] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 02:57:45] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 02:57:45] local.INFO: return Weightlifting Request Data:   
[2026-01-22 02:57:53] local.INFO: return Weightlifting Request Data:   
[2026-01-22 02:57:53] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 02:57:54] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 02:57:54] local.INFO: return Weightlifting Request Data:   
[2026-01-22 04:35:02] local.INFO: Tab value: warmup  
[2026-01-22 04:35:02] local.INFO: Tab value: strength  
[2026-01-22 04:35:02] local.INFO: Tab value: conditioning  
[2026-01-22 04:35:02] local.INFO: Tab value: weightlifting  
[2026-01-22 04:35:02] local.INFO: Tab value: test  
[2026-01-22 04:35:02] local.INFO: Tab value: test  
[2026-01-22 04:35:02] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-22 04:35:16] local.INFO: return Weightlifting Request Data:   
[2026-01-22 04:35:16] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 04:35:20] local.INFO: return Weightlifting Request Data:   
[2026-01-22 04:35:20] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 04:35:29] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 04:35:29] local.INFO: return Weightlifting Request Data:   
[2026-01-22 04:35:53] local.INFO: Incoming Weightlifting Request Data:  {"_token":"yV4taosPFM6yw9fxBotcWdl4Yuats3FxYP5wOlX9","selectdatewe":"22/01/26 Thursday","namewe_2":null,"weightlifting_id":null,"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"65","setwid_1":null,"setswe_1":"1","repswe_1":"2","setswe_12":"2","repswe_12":"2","setswe_13":"3","repswe_13":"2","restredwe_1":"00:03:45","restyellowwe_1":"00:04:00","restgreenwe_1":"00:04:00","intensitywe_1":"medium"} 
[2026-01-22 04:35:53] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"65","setwid_1":null,"setswe_1":"1","repswe_1":"2","restredwe_1":"00:03:45","restyellowwe_1":"00:04:00","restgreenwe_1":"00:04:00","intensitywe_1":"medium"} 
[2026-01-22 04:35:53] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test","weigth":"65","unit":"%","restred":"00:03:45","restgreen":"00:04:00","restyellow":"00:04:00","intensity":"medium","date":"22/01/26 Thursday"} 
[2026-01-22 04:35:53] local.INFO: Created Weightlifting ID {"id":18} 
[2026-01-22 04:35:53] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"2","alt_set":null,"alt_reps":null,"weightlifting_id":18} 
[2026-01-22 04:35:53] local.INFO: Saving WeightliftingSet row {"sets":"2","reps":"2","alt_set":null,"alt_reps":null,"weightlifting_id":18} 
[2026-01-22 04:35:53] local.INFO: Saving WeightliftingSet row {"sets":"3","reps":"2","alt_set":null,"alt_reps":null,"weightlifting_id":18} 
[2026-01-22 04:35:55] local.INFO: return Weightlifting Request Data:  [{"id":18,"category_id":5,"category_name":"Hinge","workoutname":"test","workout_id":117,"workout_type":"Seal row","weight":65.0,"unit":"%","restwered":"00:03:45","restweyellow":"00:04:00","restwegreen":"00:04:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"22/01/26 Thursday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":43,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":18,"created_at":"2026-01-22T04:35:53.000000Z","updated_at":"2026-01-22T04:35:53.000000Z"},{"id":44,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":18,"created_at":"2026-01-22T04:35:53.000000Z","updated_at":"2026-01-22T04:35:53.000000Z"},{"id":45,"sets":3,"reps":2,"alt_sets":null,"alt_reps":null,"weightlifting_id":18,"created_at":"2026-01-22T04:35:53.000000Z","updated_at":"2026-01-22T04:35:53.000000Z"}]}}] 
[2026-01-22 04:35:55] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 04:36:23] local.INFO: return Weightlifting Request Data:   
[2026-01-22 04:36:31] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 04:36:31] local.INFO: Tab value: warmup  
[2026-01-22 04:36:32] local.INFO: Tab value: conditioning  
[2026-01-22 04:36:32] local.INFO: Tab value: strength  
[2026-01-22 04:36:32] local.INFO: Tab value: test  
[2026-01-22 04:36:32] local.INFO: Tab value: weightlifting  
[2026-01-22 04:36:32] local.INFO: Tab value: test  
[2026-01-22 04:36:32] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-22 04:36:32] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 04:37:03] local.INFO: Incoming Warmup Request Data:  {"_token":"yV4taosPFM6yw9fxBotcWdl4Yuats3FxYP5wOlX9","selectdatew":"22/01/26 Thursday","namew_2":null,"warmup_id":null,"namew_1":null,"categoryw_1":"8","workoutw_1":"119","repsw_1":"3","unit_1":"/10","weigthc_1":"55","male_1":null,"female_1":null} 
[2026-01-22 04:37:03] local.INFO: Processing Warmup Group #1: {"namew_1":null,"categoryw_1":"8","workoutw_1":"119","repsw_1":"3","unit_1":"/10","weigthc_1":"55","male_1":null,"female_1":null} 
[2026-01-22 04:37:03] local.INFO: Warmup entry saved with ID: 50  
[2026-01-22 04:37:03] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-01-22 04:37:48] local.INFO: return Weightlifting Request Data:   
[2026-01-22 04:37:48] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 04:38:11] local.INFO: Incoming Weightlifting Request Data:  {"_token":"yV4taosPFM6yw9fxBotcWdl4Yuats3FxYP5wOlX9","selectdatewe":"22/01/26 Thursday","namewe_2":null,"weightlifting_id":null,"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"56","setwid_1":null,"setswe_1":"1","repswe_1":"3","setswe_12":"2","repswe_12":"3","restredwe_1":"00:04:00","restyellowwe_1":"00:04:00","restgreenwe_1":"00:04:00","intensitywe_1":"low"} 
[2026-01-22 04:38:11] local.INFO: processedData Weightlifting Request Data:  {"namewe_1":"test","categorywe_1":"5","workoutwe_1":"117","unitwe_1":"%","weigthwe_1":"56","setwid_1":null,"setswe_1":"1","repswe_1":"3","restredwe_1":"00:04:00","restyellowwe_1":"00:04:00","restgreenwe_1":"00:04:00","intensitywe_1":"low"} 
[2026-01-22 04:38:11] local.INFO: message for weightlifting data {"category":"5","workout":"117","name":"test","weigth":"56","unit":"%","restred":"00:04:00","restgreen":"00:04:00","restyellow":"00:04:00","intensity":"low","date":"22/01/26 Thursday"} 
[2026-01-22 04:38:11] local.INFO: Created Weightlifting ID {"id":19} 
[2026-01-22 04:38:11] local.INFO: Saving WeightliftingSet row {"sets":"1","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":19} 
[2026-01-22 04:38:11] local.INFO: Saving WeightliftingSet row {"sets":"2","reps":"3","alt_set":null,"alt_reps":null,"weightlifting_id":19} 
[2026-01-22 04:38:13] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 04:38:13] local.INFO: return Weightlifting Request Data:  [{"id":19,"category_id":5,"category_name":"Hinge","workoutname":"test","workout_id":117,"workout_type":"Seal row","weight":56.0,"unit":"%","restwered":"00:04:00","restweyellow":"00:04:00","restwegreen":"00:04:00","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"22/01/26 Thursday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":46,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":19,"created_at":"2026-01-22T04:38:11.000000Z","updated_at":"2026-01-22T04:38:11.000000Z"},{"id":47,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":19,"created_at":"2026-01-22T04:38:11.000000Z","updated_at":"2026-01-22T04:38:11.000000Z"}]}}] 
[2026-01-22 04:38:27] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 04:38:27] local.INFO: Tab value: warmup  
[2026-01-22 04:38:28] local.INFO: Tab value: strength  
[2026-01-22 04:38:28] local.INFO: Tab value: conditioning  
[2026-01-22 04:38:28] local.INFO: Tab value: weightlifting  
[2026-01-22 04:38:28] local.INFO: Tab value: test  
[2026-01-22 04:38:28] local.INFO: Tab value: test  
[2026-01-22 04:38:28] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-22 04:38:28] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 04:38:30] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 04:38:30] local.INFO: return Weightlifting Request Data:  [{"id":19,"category_id":5,"category_name":"Hinge","workoutname":"test","workout_id":117,"workout_type":"Seal row","weight":56.0,"unit":"%","restwered":"00:04:00","restweyellow":"00:04:00","restwegreen":"00:04:00","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"22/01/26 Thursday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":46,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":19,"created_at":"2026-01-22T04:38:11.000000Z","updated_at":"2026-01-22T04:38:11.000000Z"},{"id":47,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":19,"created_at":"2026-01-22T04:38:11.000000Z","updated_at":"2026-01-22T04:38:11.000000Z"}]}}] 
[2026-01-22 04:38:35] local.INFO: assigned weightlifting:  {"_token":"yV4taosPFM6yw9fxBotcWdl4Yuats3FxYP5wOlX9","class_id":"90","workout_id":"19","workout_type":"weightlifting","date":"22/01/26 Thursday","assigned":"1"} 
[2026-01-22 04:38:36] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 05:09:41] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 05:09:41] local.INFO: Tab value: warmup  
[2026-01-22 05:09:41] local.INFO: Tab value: strength  
[2026-01-22 05:09:41] local.INFO: Tab value: conditioning  
[2026-01-22 05:09:41] local.INFO: Tab value: test  
[2026-01-22 05:09:41] local.INFO: Tab value: weightlifting  
[2026-01-22 05:09:41] local.INFO: Tab value: test  
[2026-01-22 05:09:41] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-22 05:09:42] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 05:53:50] local.INFO: Tab value: warmup  
[2026-01-22 05:53:50] local.INFO: Tab value: test  
[2026-01-22 05:53:50] local.INFO: Tab value: strength  
[2026-01-22 05:53:50] local.INFO: Tab value: conditioning  
[2026-01-22 05:53:50] local.INFO: Tab value: test  
[2026-01-22 05:53:50] local.INFO: Tab value: weightlifting  
[2026-01-22 05:53:50] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-22 05:57:13] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 06:31:31] local.INFO: Tab value: warmup  
[2026-01-22 06:31:31] local.INFO: Tab value: strength  
[2026-01-22 06:31:31] local.INFO: Tab value: weightlifting  
[2026-01-22 06:31:31] local.INFO: Tab value: conditioning  
[2026-01-22 06:31:31] local.INFO: Tab value: test  
[2026-01-22 06:31:31] local.INFO: Tab value: test  
[2026-01-22 06:31:31] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-22 06:31:35] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 06:31:36] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 06:31:36] local.INFO: return Weightlifting Request Data:  [{"id":19,"category_id":5,"category_name":"Hinge","workoutname":"test","workout_id":117,"workout_type":"Seal row","weight":56.0,"unit":"%","restwered":"00:04:00","restweyellow":"00:04:00","restwegreen":"00:04:00","intensity":"low","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workoutname":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restwered":"00:00:00","alt_restweyellow":"00:00:00","alt_restwegreen":"00:00:00","alt_intensity":null,"date":"22/01/26 Thursday","sets":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":46,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":19,"created_at":"2026-01-22T04:38:11.000000Z","updated_at":"2026-01-22T04:38:11.000000Z"},{"id":47,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"weightlifting_id":19,"created_at":"2026-01-22T04:38:11.000000Z","updated_at":"2026-01-22T04:38:11.000000Z"}]}}] 
[2026-01-22 06:38:28] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 06:38:29] local.INFO: Day received: {"day":"22/01/26 Thursday"} 
[2026-01-22 07:06:18] local.INFO: Tab value: warmup  
[2026-01-22 07:06:18] local.INFO: Tab value: strength  
[2026-01-22 07:06:18] local.INFO: Tab value: conditioning  
[2026-01-22 07:06:18] local.INFO: Tab value: weightlifting  
[2026-01-22 07:06:18] local.INFO: Tab value: test  
[2026-01-22 07:06:18] local.INFO: Tab value: test  
[2026-01-22 07:06:18] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-23 00:08:23] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:08:23] local.INFO: Tab value: warmup  
[2026-01-23 00:08:23] local.INFO: Tab value: strength  
[2026-01-23 00:08:23] local.INFO: Tab value: conditioning  
[2026-01-23 00:08:23] local.INFO: Tab value: weightlifting  
[2026-01-23 00:08:23] local.INFO: Tab value: test  
[2026-01-23 00:08:23] local.INFO: Tab value: test  
[2026-01-23 00:08:23] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-23 00:08:24] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:08:42] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:08:42] local.INFO: Tab value: warmup  
[2026-01-23 00:08:42] local.INFO: Tab value: strength  
[2026-01-23 00:08:42] local.INFO: Tab value: conditioning  
[2026-01-23 00:08:42] local.INFO: Tab value: weightlifting  
[2026-01-23 00:08:42] local.INFO: Tab value: test  
[2026-01-23 00:08:42] local.INFO: Tab value: test  
[2026-01-23 00:08:42] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-23 00:08:43] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:09:54] local.INFO: Incoming Warmup Request Data:  {"_token":"030m7wk7spzFeHAymXD7JlpdoTq5NGbKV1ZRkPab","selectdatew":"23/01/26 Friday","namew_2":null,"warmup_id":null,"namew_1":"23/01/26","categoryw_1":"9","workoutw_1":"127","repsw_1":"10","unit_1":"Kg","weigthc_1":null,"male_1":"106","female_1":null,"categoryw_2":"1","repsw_2":null,"unit_2":"/10","weigthc_2":null,"male_2":null,"female_2":null} 
[2026-01-23 00:09:54] local.INFO: Processing Warmup Group #1: {"namew_1":"23/01/26","categoryw_1":"9","workoutw_1":"127","repsw_1":"10","unit_1":"Kg","weigthc_1":null,"male_1":"106","female_1":null} 
[2026-01-23 00:09:54] local.INFO: Warmup entry saved with ID: 51  
[2026-01-23 00:09:54] local.INFO: Processing Warmup Group #2: {"namew_2":null,"categoryw_2":"1","repsw_2":null,"unit_2":"/10","weigthc_2":null,"male_2":null,"female_2":null} 
[2026-01-23 00:10:00] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:10:01] local.INFO: Tab value: strength  
[2026-01-23 00:10:01] local.INFO: Tab value: warmup  
[2026-01-23 00:10:01] local.INFO: Tab value: conditioning  
[2026-01-23 00:10:01] local.INFO: Tab value: weightlifting  
[2026-01-23 00:10:01] local.INFO: Tab value: test  
[2026-01-23 00:10:01] local.INFO: Tab value: test  
[2026-01-23 00:10:01] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-23 00:10:01] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:10:32] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:10:32] local.INFO: Tab value: warmup  
[2026-01-23 00:10:32] local.INFO: Tab value: strength  
[2026-01-23 00:10:32] local.INFO: Tab value: conditioning  
[2026-01-23 00:10:33] local.INFO: Tab value: weightlifting  
[2026-01-23 00:10:33] local.INFO: Tab value: test  
[2026-01-23 00:10:33] local.INFO: Tab value: test  
[2026-01-23 00:10:33] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-23 00:10:33] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:11:57] local.INFO: Received date: 23/01/26 Friday  
[2026-01-23 00:11:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-23 00:11:58] local.INFO: Strength records fetched: 0  
[2026-01-23 00:11:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-23 00:11:58] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:13:18] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:13:18] local.INFO: Tab value: warmup  
[2026-01-23 00:13:18] local.INFO: Tab value: strength  
[2026-01-23 00:13:18] local.INFO: Tab value: conditioning  
[2026-01-23 00:13:18] local.INFO: Tab value: weightlifting  
[2026-01-23 00:13:18] local.INFO: Tab value: test  
[2026-01-23 00:13:18] local.INFO: Tab value: test  
[2026-01-23 00:13:18] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-23 00:13:19] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:14:40] local.INFO: Incoming Warmup Request Data:  {"_token":"030m7wk7spzFeHAymXD7JlpdoTq5NGbKV1ZRkPab","selectdatew":"23/01/26 Friday","namew_2":null,"warmup_id":null,"namew_1":"23/01/26","categoryw_1":"9","workoutw_1":"127","repsw_1":"10","unit_1":"Kg","weigthc_1":null,"male_1":"106","female_1":null} 
[2026-01-23 00:14:40] local.INFO: Processing Warmup Group #1: {"namew_1":"23/01/26","categoryw_1":"9","workoutw_1":"127","repsw_1":"10","unit_1":"Kg","weigthc_1":null,"male_1":"106","female_1":null} 
[2026-01-23 00:14:40] local.INFO: Warmup entry saved with ID: 52  
[2026-01-23 00:14:40] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-01-23 00:14:49] local.INFO: Incoming Warmup Request Data:  {"_token":"030m7wk7spzFeHAymXD7JlpdoTq5NGbKV1ZRkPab","selectdatew":"23/01/26 Friday","namew_2":null,"warmup_id":null,"namew_1":"23/01/26","categoryw_1":"9","workoutw_1":"127","repsw_1":"10","unit_1":"Kg","weigthc_1":null,"male_1":"106","female_1":null} 
[2026-01-23 00:14:49] local.INFO: Processing Warmup Group #1: {"namew_1":"23/01/26","categoryw_1":"9","workoutw_1":"127","repsw_1":"10","unit_1":"Kg","weigthc_1":null,"male_1":"106","female_1":null} 
[2026-01-23 00:14:49] local.INFO: Warmup entry saved with ID: 53  
[2026-01-23 00:14:49] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-01-23 00:14:53] local.INFO: Received date: 23/01/26 Friday  
[2026-01-23 00:14:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-23 00:14:53] local.INFO: Strength records fetched: 0  
[2026-01-23 00:14:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-23 00:14:53] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:15:49] local.INFO: Received request data: {"_token":"030m7wk7spzFeHAymXD7JlpdoTq5NGbKV1ZRkPab","selectdates":"23/01/26 Friday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"23/01/26","categorys_1":"4","workouts_1":"141","unit_1":"%","weigths_1":"60","setsid_1":null,"sets_1":"1","reps_1":"6","sets_12":"2","reps_12":"6","sets_13":"3","reps_13":"6","sets_14":"4","reps_14":"6","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-23 00:15:49] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"23/01/26","categorys_1":"4","workouts_1":"141","unit_1":"%","weigths_1":"60","setsid_1":null,"sets_1":"1","reps_1":"6","sets_12":"2","reps_12":"6","sets_13":"3","reps_13":"6","sets_14":"4","reps_14":"6","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-01-23 00:15:49] local.INFO: Created Strength ID {"id":95} 
[2026-01-23 00:15:49] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"6","alt_set":null,"alt_reps":null,"strength_id":95} 
[2026-01-23 00:15:49] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"6","alt_set":null,"alt_reps":null,"strength_id":95} 
[2026-01-23 00:15:49] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"6","alt_set":null,"alt_reps":null,"strength_id":95} 
[2026-01-23 00:15:49] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"6","alt_set":null,"alt_reps":null,"strength_id":95} 
[2026-01-23 00:15:51] local.INFO: Received date: 23/01/26 Friday  
[2026-01-23 00:15:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_id":4,"workout_id":141,"weight":60.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"23/01/26 Friday","created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z","workoutname":"23/01/26","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-23 00:15:51] local.INFO: Strength records fetched: 1  
[2026-01-23 00:15:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":95,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"23/01/26","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"23/01/26 Friday","sets":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-23 00:15:51] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:15:55] local.INFO: assigned weightlifting:  {"_token":"030m7wk7spzFeHAymXD7JlpdoTq5NGbKV1ZRkPab","workout_id":"95","workout_type":"strength","date":"23/01/26 Friday","assigned":"1","class_id":"91"} 
[2026-01-23 00:15:57] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 00:16:01] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 01:36:18] local.INFO: Received date: 23/01/26 Friday  
[2026-01-23 01:36:18] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 01:36:18] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_id":4,"workout_id":141,"weight":60.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"23/01/26 Friday","created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:55.000000Z","workoutname":"23/01/26","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-23 01:36:18] local.INFO: Strength records fetched: 1  
[2026-01-23 01:36:18] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":95,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"23/01/26","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"23/01/26 Friday","sets":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-23 01:37:44] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 01:37:48] local.INFO: assigned weightlifting:  {"_token":"030m7wk7spzFeHAymXD7JlpdoTq5NGbKV1ZRkPab","workout_id":"52","workout_type":"warmup","date":"23/01/26 Friday","assigned":"1","class_id":"91"} 
[2026-01-23 01:37:51] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 01:39:57] local.INFO: Incoming Warmup Request Data:  {"_token":"030m7wk7spzFeHAymXD7JlpdoTq5NGbKV1ZRkPab","selectdatew":"23/01/26 Friday","namew_2":null,"warmup_id":null,"namew_1":"23/01/26","categoryw_1":"9","workoutw_1":"127","repsw_1":"10","unit_1":"Kg","weigthc_1":null,"male_1":"106","female_1":null,"categoryw_3":"4","workoutw_3":"114","repsw_3":"10","unit_3":"Kg","weigthc_3":null,"male_3":"10","female_3":null} 
[2026-01-23 01:39:57] local.INFO: Processing Warmup Group #1: {"namew_1":"23/01/26","categoryw_1":"9","workoutw_1":"127","repsw_1":"10","unit_1":"Kg","weigthc_1":null,"male_1":"106","female_1":null} 
[2026-01-23 01:39:57] local.INFO: Warmup entry saved with ID: 54  
[2026-01-23 01:39:57] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-01-23 01:40:05] local.INFO: Incoming Warmup Request Data:  {"_token":"030m7wk7spzFeHAymXD7JlpdoTq5NGbKV1ZRkPab","selectdatew":"23/01/26 Friday","namew_2":null,"warmup_id":null,"namew_1":"23/01/26","categoryw_1":"9","workoutw_1":"127","repsw_1":"10","unit_1":"Kg","weigthc_1":null,"male_1":"106","female_1":null,"categoryw_3":"4","workoutw_3":"114","repsw_3":"10","unit_3":"Kg","weigthc_3":null,"male_3":"10","female_3":null} 
[2026-01-23 01:40:05] local.INFO: Processing Warmup Group #1: {"namew_1":"23/01/26","categoryw_1":"9","workoutw_1":"127","repsw_1":"10","unit_1":"Kg","weigthc_1":null,"male_1":"106","female_1":null} 
[2026-01-23 01:40:05] local.INFO: Warmup entry saved with ID: 55  
[2026-01-23 01:40:05] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-01-23 01:40:15] local.INFO: Incoming Warmup Request Data:  {"_token":"030m7wk7spzFeHAymXD7JlpdoTq5NGbKV1ZRkPab","selectdatew":"23/01/26 Friday","namew_2":null,"warmup_id":null,"namew_1":"23/01/26","categoryw_1":"9","workoutw_1":"127","repsw_1":"10","unit_1":"Kg","weigthc_1":null,"male_1":"106","female_1":null,"categoryw_3":"4","workoutw_3":"114","repsw_3":"10","unit_3":"Kg","weigthc_3":null,"male_3":"10","female_3":null} 
[2026-01-23 01:40:15] local.INFO: Processing Warmup Group #1: {"namew_1":"23/01/26","categoryw_1":"9","workoutw_1":"127","repsw_1":"10","unit_1":"Kg","weigthc_1":null,"male_1":"106","female_1":null} 
[2026-01-23 01:40:15] local.INFO: Warmup entry saved with ID: 56  
[2026-01-23 01:40:15] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-01-23 01:40:25] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 01:40:25] local.INFO: Tab value: warmup  
[2026-01-23 01:40:25] local.INFO: Tab value: strength  
[2026-01-23 01:40:25] local.INFO: Tab value: conditioning  
[2026-01-23 01:40:25] local.INFO: Tab value: test  
[2026-01-23 01:40:25] local.INFO: Tab value: test  
[2026-01-23 01:40:25] local.INFO: Tab value: weightlifting  
[2026-01-23 01:40:25] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-23 01:40:25] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 06:52:47] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 06:52:48] local.INFO: Tab value: strength  
[2026-01-23 06:52:48] local.INFO: Tab value: warmup  
[2026-01-23 06:52:48] local.INFO: Tab value: conditioning  
[2026-01-23 06:52:48] local.INFO: Tab value: test  
[2026-01-23 06:52:48] local.INFO: Tab value: weightlifting  
[2026-01-23 06:52:48] local.INFO: Tab value: test  
[2026-01-23 06:52:48] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-23 06:52:48] local.INFO: Received date: 23/01/26 Friday  
[2026-01-23 06:52:48] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_id":4,"workout_id":141,"weight":60.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"23/01/26 Friday","created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:55.000000Z","workoutname":"23/01/26","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-23 06:52:48] local.INFO: Strength records fetched: 1  
[2026-01-23 06:52:48] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":95,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"23/01/26","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"23/01/26 Friday","sets":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-23 06:52:48] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 06:52:48] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 09:42:58] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 09:42:58] local.INFO: Tab value: warmup  
[2026-01-23 09:42:58] local.INFO: Tab value: strength  
[2026-01-23 09:42:58] local.INFO: Tab value: conditioning  
[2026-01-23 09:42:58] local.INFO: Tab value: weightlifting  
[2026-01-23 09:42:58] local.INFO: Tab value: test  
[2026-01-23 09:42:58] local.INFO: Tab value: test  
[2026-01-23 09:42:59] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-23 09:42:59] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 09:43:17] local.INFO: return Weightlifting Request Data:   
[2026-01-23 09:43:17] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 09:43:17] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 09:43:30] local.INFO: return Weightlifting Request Data:   
[2026-01-23 09:43:30] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 09:43:30] local.INFO: Received date: 23/01/26 Friday  
[2026-01-23 09:43:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_id":4,"workout_id":141,"weight":60.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"23/01/26 Friday","created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:55.000000Z","workoutname":"23/01/26","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-23 09:43:30] local.INFO: Strength records fetched: 1  
[2026-01-23 09:43:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":95,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"23/01/26","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"23/01/26 Friday","sets":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-23 09:43:30] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 09:43:41] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 09:44:22] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 10:12:55] local.INFO: Received date: 23/01/26 Friday  
[2026-01-23 10:12:55] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 10:12:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_id":4,"workout_id":141,"weight":60.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"23/01/26 Friday","created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:55.000000Z","workoutname":"23/01/26","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-23 10:12:55] local.INFO: Strength records fetched: 1  
[2026-01-23 10:12:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":95,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"23/01/26","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"23/01/26 Friday","sets":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-23 10:13:03] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 10:13:40] local.INFO: Received date: 23/01/26 Friday  
[2026-01-23 10:13:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_id":4,"workout_id":141,"weight":60.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"23/01/26 Friday","created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:55.000000Z","workoutname":"23/01/26","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-23 10:13:40] local.INFO: Strength records fetched: 1  
[2026-01-23 10:13:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":95,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"23/01/26","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"23/01/26 Friday","sets":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-23 10:13:40] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 10:21:27] local.INFO: Received request data: {"_token":"aKUHarXlO6OrnSGHBUsegJ3rLsNPVYli8cRjmTIC","selectdates":"23/01/26 Friday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":null,"sets_13":"3","reps_13":null,"restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-01-23 10:21:27] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test","categorys_1":"9","workouts_1":"125","unit_1":"%","weigths_1":"80","setsid_1":null,"sets_1":"1","reps_1":"4","sets_12":"2","reps_12":null,"sets_13":"3","reps_13":null,"restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-01-23 10:21:27] local.INFO: Created Strength ID {"id":96} 
[2026-01-23 10:21:27] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","alt_set":null,"alt_reps":null,"strength_id":96} 
[2026-01-23 10:21:27] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":null,"alt_set":null,"alt_reps":null,"strength_id":96} 
[2026-01-23 10:21:27] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":null,"alt_set":null,"alt_reps":null,"strength_id":96} 
[2026-01-23 10:21:27] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2026-01-23 10:21:27] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1137): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1105): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '23/01/26 Friday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-23 10:21:37] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 10:21:38] local.INFO: Tab value: weightlifting  
[2026-01-23 10:21:38] local.INFO: Tab value: test  
[2026-01-23 10:21:38] local.INFO: Tab value: test  
[2026-01-23 10:21:38] local.INFO: Tab value: warmup  
[2026-01-23 10:21:38] local.INFO: Tab value: conditioning  
[2026-01-23 10:21:38] local.INFO: Tab value: strength  
[2026-01-23 10:21:38] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-23 10:21:38] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 10:21:39] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 10:21:39] local.INFO: Received date: 23/01/26 Friday  
[2026-01-23 10:21:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_id":4,"workout_id":141,"weight":60.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"23/01/26 Friday","created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:55.000000Z","workoutname":"23/01/26","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}],"alt_category":null,"alt_workout":null},{"id":96,"category_id":9,"workout_id":125,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"23/01/26 Friday","created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z","workoutname":"Test","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":264,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"},{"id":265,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"},{"id":266,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-23 10:21:39] local.INFO: Strength records fetched: 2  
[2026-01-23 10:21:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":95,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"23/01/26","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"23/01/26 Friday","sets":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}]},{"id":96,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"Test","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"23/01/26 Friday","sets":[{"id":264,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"},{"id":265,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"},{"id":266,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-23 10:23:33] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 10:24:14] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 10:24:14] local.INFO: Tab value: weightlifting  
[2026-01-23 10:24:14] local.INFO: Tab value: test  
[2026-01-23 10:24:14] local.INFO: Tab value: test  
[2026-01-23 10:24:15] local.INFO: Tab value: warmup  
[2026-01-23 10:24:15] local.INFO: Tab value: strength  
[2026-01-23 10:24:15] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-23 10:24:15] local.INFO: Tab value: conditioning  
[2026-01-23 10:24:15] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 10:24:15] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 10:24:18] local.INFO: Response filtered data Conditioning:  {"Conditioning":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-01-23 10:37:50] local.INFO: Received date: 23/01/26 Friday  
[2026-01-23 10:37:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_id":4,"workout_id":141,"weight":60.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"23/01/26 Friday","created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:55.000000Z","workoutname":"23/01/26","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}],"alt_category":null,"alt_workout":null},{"id":96,"category_id":9,"workout_id":125,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"23/01/26 Friday","created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z","workoutname":"Test","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":264,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"},{"id":265,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"},{"id":266,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-23 10:37:50] local.INFO: Strength records fetched: 2  
[2026-01-23 10:37:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":95,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"23/01/26","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"23/01/26 Friday","sets":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}]},{"id":96,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"Test","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"23/01/26 Friday","sets":[{"id":264,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"},{"id":265,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"},{"id":266,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-23 10:37:50] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 11:08:02] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 11:08:02] local.INFO: Tab value: test  
[2026-01-23 11:08:02] local.INFO: Tab value: weightlifting  
[2026-01-23 11:08:03] local.INFO: Tab value: warmup  
[2026-01-23 11:08:03] local.INFO: Tab value: test  
[2026-01-23 11:08:03] local.INFO: Tab value: strength  
[2026-01-23 11:08:03] local.INFO: Tab value: conditioning  
[2026-01-23 11:08:03] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-23 11:08:03] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 11:09:52] local.INFO: Received date: 23/01/26 Friday  
[2026-01-23 11:09:52] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_id":4,"workout_id":141,"weight":60.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"23/01/26 Friday","created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:55.000000Z","workoutname":"23/01/26","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}],"alt_category":null,"alt_workout":null},{"id":96,"category_id":9,"workout_id":125,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"23/01/26 Friday","created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z","workoutname":"Test","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":264,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"},{"id":265,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"},{"id":266,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-23 11:09:52] local.INFO: Strength records fetched: 2  
[2026-01-23 11:09:52] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":95,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"23/01/26","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"23/01/26 Friday","sets":[{"id":260,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":261,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":262,"sets":3,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"},{"id":263,"sets":4,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":95,"created_at":"2026-01-23T00:15:49.000000Z","updated_at":"2026-01-23T00:15:49.000000Z"}]},{"id":96,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"Test","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"23/01/26 Friday","sets":[{"id":264,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"},{"id":265,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"},{"id":266,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":96,"created_at":"2026-01-23T10:21:27.000000Z","updated_at":"2026-01-23T10:21:27.000000Z"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-23 11:09:52] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 11:10:35] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 11:10:37] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-23 11:20:38] local.INFO: Day received: {"day":"23/01/26 Friday"} 
[2026-01-26 02:01:29] local.INFO: Tab value: strength  
[2026-01-26 02:01:29] local.INFO: Tab value: warmup  
[2026-01-26 02:01:29] local.INFO: Day received: {"day":"26/01/26 Monday"} 
[2026-01-26 02:01:29] local.INFO: Tab value: conditioning  
[2026-01-26 02:01:29] local.INFO: Tab value: weightlifting  
[2026-01-26 02:01:29] local.INFO: Tab value: test  
[2026-01-26 02:01:30] local.INFO: Tab value: test  
[2026-01-26 02:01:30] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-26 02:01:30] local.INFO: Day received: {"day":"26/01/26 Monday"} 
[2026-01-26 02:01:37] local.INFO: Incoming Warmup Request Data:  {"_token":"6htQdFSSUEvGLei48VuGTUtpoy3cdNQt0VcZdlNa","selectdatew":"26/01/26 Monday","namew_2":null,"warmup_id":null,"namew_1":"warmup","categoryw_1":"5","workoutw_1":"129","repsw_1":"3","unit_1":"/10","weigthc_1":"2","male_1":null,"female_1":null} 
[2026-01-26 02:01:37] local.INFO: Processing Warmup Group #1: {"namew_1":"warmup","categoryw_1":"5","workoutw_1":"129","repsw_1":"3","unit_1":"/10","weigthc_1":"2","male_1":null,"female_1":null} 
[2026-01-26 02:01:37] local.INFO: Warmup entry saved with ID: 57  
[2026-01-26 02:01:37] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-01-26 02:01:42] local.INFO: Day received: {"day":"26/01/26 Monday"} 
[2026-01-26 02:01:42] local.INFO: Tab value: warmup  
[2026-01-26 02:01:42] local.INFO: Tab value: strength  
[2026-01-26 02:01:42] local.INFO: Tab value: conditioning  
[2026-01-26 02:01:42] local.INFO: Tab value: weightlifting  
[2026-01-26 02:01:42] local.INFO: Tab value: test  
[2026-01-26 02:01:42] local.INFO: Tab value: test  
[2026-01-26 02:01:42] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-26 02:01:42] local.INFO: Day received: {"day":"26/01/26 Monday"} 
[2026-01-26 07:40:56] local.INFO: Day received: {"day":"26/01/26 Monday"} 
[2026-01-26 07:40:56] local.INFO: Tab value: warmup  
[2026-01-26 07:40:56] local.INFO: Tab value: strength  
[2026-01-26 07:40:56] local.INFO: Tab value: conditioning  
[2026-01-26 07:40:57] local.INFO: Tab value: test  
[2026-01-26 07:40:57] local.INFO: Tab value: weightlifting  
[2026-01-26 07:40:57] local.INFO: Tab value: test  
[2026-01-26 07:40:57] local.INFO: Day received: {"day":"26/01/26 Monday"} 
[2026-01-26 07:40:57] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-27 03:48:11] local.INFO: Strength progress start {"user_id":14,"workout_id":17,"member_id":9,"workout_type":"strength"} 
[2026-01-27 03:48:12] local.INFO: Strength records fetched {"strengths_count":21,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57,74,76,77,78]}} 
[2026-01-27 03:48:12] local.INFO: DailyStrength fetched {"daily_strength_count":0,"first_row":null} 
[2026-01-27 03:50:58] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:50:58] local.INFO: Tab value: warmup  
[2026-01-27 03:50:58] local.INFO: Tab value: conditioning  
[2026-01-27 03:50:58] local.INFO: Tab value: strength  
[2026-01-27 03:50:58] local.INFO: Tab value: weightlifting  
[2026-01-27 03:50:58] local.INFO: Tab value: test  
[2026-01-27 03:50:58] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-27 03:50:58] local.INFO: Tab value: test  
[2026-01-27 03:50:58] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:51:05] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:51:05] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:51:05] local.INFO: Received date: 27/01/26 Tuesday  
[2026-01-27 03:51:05] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-27 03:51:05] local.INFO: Strength records fetched: 0  
[2026-01-27 03:51:05] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-27 03:51:07] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:51:07] local.INFO: return Weightlifting Request Data:   
[2026-01-27 03:51:09] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:51:10] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:52:09] local.INFO: Store Class Request Data: {"_token":"Kyd8NfHMWOYrUXmAUnvGz2hm6vOUMrwbQNukpci1","selectdatecla":"27/01/26 Tuesday","time":"00:00","duration":"1","spots":"20","days":["Mon","Thu","Sat"]} 
[2026-01-27 03:52:09] local.INFO: Creating recurring classes for days: Mon, Thu, Sat  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 29/01/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 92  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 31/01/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 93  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 02/02/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 94  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 05/02/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 95  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 07/02/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 96  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 09/02/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 97  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 12/02/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 98  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 14/02/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 99  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 16/02/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 100  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 19/02/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 101  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 21/02/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 102  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 23/02/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 103  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 26/02/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 104  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 28/02/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 105  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 02/03/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 106  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 05/03/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 107  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 07/03/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 108  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 09/03/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 109  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 12/03/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 110  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 14/03/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 111  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 16/03/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 112  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 19/03/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 113  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 21/03/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 114  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 23/03/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 115  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 26/03/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 116  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 28/03/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 117  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 30/03/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 118  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 02/04/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 119  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 04/04/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 120  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 06/04/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 121  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 09/04/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 122  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 11/04/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 123  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 13/04/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 124  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 16/04/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 125  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 18/04/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 126  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 20/04/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 127  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 23/04/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 128  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 25/04/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 129  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 27/04/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 130  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 30/04/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 131  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 02/05/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 132  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 04/05/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 133  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 07/05/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 134  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 09/05/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 135  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 11/05/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 136  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 14/05/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 137  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 16/05/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 138  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 18/05/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 139  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 21/05/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 140  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 23/05/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 141  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 25/05/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 142  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 28/05/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 143  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 30/05/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 144  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 01/06/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 145  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 04/06/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 146  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 06/06/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 147  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 08/06/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 148  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 11/06/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 149  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 13/06/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 150  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 15/06/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 151  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 18/06/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 152  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 20/06/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 153  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 22/06/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 154  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 25/06/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 155  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 27/06/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 156  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 29/06/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 157  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 02/07/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 158  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 04/07/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 159  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 06/07/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 160  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 09/07/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 161  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 11/07/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 162  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 13/07/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 163  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 16/07/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 164  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 18/07/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 165  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 20/07/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 166  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 23/07/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 167  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 25/07/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 168  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 27/07/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 169  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 30/07/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 170  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 01/08/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 171  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 03/08/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 172  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 06/08/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 173  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 08/08/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 174  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 10/08/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 175  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 13/08/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 176  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 15/08/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 177  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 17/08/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 178  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 20/08/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 179  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 22/08/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 180  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 24/08/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 181  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 27/08/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 182  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 29/08/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 183  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 31/08/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 184  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 03/09/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 185  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 05/09/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 186  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 07/09/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 187  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 10/09/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 188  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 12/09/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 189  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 14/09/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 190  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 17/09/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 191  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 19/09/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 192  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 21/09/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 193  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 24/09/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 194  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 26/09/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 195  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 28/09/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 196  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 01/10/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 197  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 03/10/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 198  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 05/10/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 199  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 08/10/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 200  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 10/10/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 201  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 12/10/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 202  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 15/10/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 203  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 17/10/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 204  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 19/10/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 205  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 22/10/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 206  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 24/10/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 207  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 26/10/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 208  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 29/10/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 209  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 31/10/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 210  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 02/11/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 211  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 05/11/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 212  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 07/11/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 213  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 09/11/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 214  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 12/11/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 215  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 14/11/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 216  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 16/11/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 217  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 19/11/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 218  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 21/11/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 219  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 23/11/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 220  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 26/11/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 221  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 28/11/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 222  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 30/11/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 223  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 03/12/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 224  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 05/12/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 225  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 07/12/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 226  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 10/12/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 227  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 12/12/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 228  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 14/12/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 229  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 17/12/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 230  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 19/12/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 231  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 21/12/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 232  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 24/12/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 233  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 26/12/26 Saturday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 234  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 28/12/26 Monday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 235  
[2026-01-27 03:52:09] local.INFO: createClass helper called. Date: 31/12/26 Thursday, Time: 00:00, Spots: 20  
[2026-01-27 03:52:09] local.INFO: Class created in DB with ID: 236  
[2026-01-27 03:52:11] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:52:11] local.INFO: Tab value: weightlifting  
[2026-01-27 03:52:11] local.INFO: Tab value: test  
[2026-01-27 03:52:11] local.INFO: Tab value: test  
[2026-01-27 03:52:11] local.INFO: Tab value: warmup  
[2026-01-27 03:52:11] local.INFO: Tab value: strength  
[2026-01-27 03:52:11] local.INFO: Tab value: conditioning  
[2026-01-27 03:52:11] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-27 03:52:11] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:52:14] local.INFO: Day received: {"day":"28/01/26 Wednesday"} 
[2026-01-27 03:52:18] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-27 03:52:20] local.INFO: Day received: {"day":"26/01/26 Monday"} 
[2026-01-27 03:52:21] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:52:24] local.INFO: Day received: {"day":"28/01/26 Wednesday"} 
[2026-01-27 03:52:24] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-27 03:53:03] local.INFO: Day received: {"day":"26/01/26 Monday"} 
[2026-01-27 03:53:04] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:53:34] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:53:34] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:53:34] local.INFO: Received date: 27/01/26 Tuesday  
[2026-01-27 03:53:34] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-27 03:53:34] local.INFO: Strength records fetched: 0  
[2026-01-27 03:53:34] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-27 03:54:02] local.INFO: Store Class Request Data: {"_token":"Kyd8NfHMWOYrUXmAUnvGz2hm6vOUMrwbQNukpci1","selectdatecla":"27/01/26 Tuesday","time":"00:00","duration":"1","spots":"20"} 
[2026-01-27 03:54:02] local.INFO: Creating single class. Date input: 27/01/26 Tuesday  
[2026-01-27 03:54:02] local.INFO: Parsed start date: 2026-01-27  
[2026-01-27 03:54:02] local.INFO: createClass helper called. Date: 27/01/26 Tuesday, Time: 00:00, Spots: 20  
[2026-01-27 03:54:02] local.INFO: Class created in DB with ID: 237  
[2026-01-27 03:54:02] local.INFO: Single class creation called successfully.  
[2026-01-27 03:54:04] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:54:04] local.INFO: Tab value: weightlifting  
[2026-01-27 03:54:04] local.INFO: Tab value: test  
[2026-01-27 03:54:04] local.INFO: Tab value: test  
[2026-01-27 03:54:04] local.INFO: Tab value: conditioning  
[2026-01-27 03:54:04] local.INFO: Tab value: warmup  
[2026-01-27 03:54:04] local.INFO: Tab value: strength  
[2026-01-27 03:54:04] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-27 03:54:04] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:54:06] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:54:07] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:54:07] local.INFO: Received date: 27/01/26 Tuesday  
[2026-01-27 03:54:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-27 03:54:07] local.INFO: Strength records fetched: 0  
[2026-01-27 03:54:07] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-27 03:54:37] local.INFO: Received request data: {"_token":"Kyd8NfHMWOYrUXmAUnvGz2hm6vOUMrwbQNukpci1","selectdates":"27/01/26 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test","categorys_1":"4","workouts_1":"17","weigths_1":"80","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"6","setweight_1":"80","sets_14":"4","reps_14":"6","setweight_14":"80","sets_15":"5","reps_15":"6","setweight_15":"80","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-01-27 03:54:37] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test","categorys_1":"4","workouts_1":"17","weigths_1":"80","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"6","setweight_1":"80","sets_14":"4","reps_14":"6","setweight_14":"80","sets_15":"5","reps_15":"6","setweight_15":"80","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-01-27 03:54:37] local.INFO: Created Strength ID {"id":97} 
[2026-01-27 03:54:37] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"6","weight":"80","alt_set":null,"alt_reps":null,"strength_id":97} 
[2026-01-27 03:54:37] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'weight' in 'field list' (Connection: mysql, SQL: insert into `strengthsetsreps` (`sets`, `reps`, `weight`, `alt_sets`, `alt_reps`, `strength_id`, `updated_at`, `created_at`) values (1, 6, 80, ?, ?, 97, 2026-01-27 03:54:37, 2026-01-27 03:54:37)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'weight' in 'field list' (Connection: mysql, SQL: insert into `strengthsetsreps` (`sets`, `reps`, `weight`, `alt_sets`, `alt_reps`, `strength_id`, `updated_at`, `created_at`) values (1, 6, 80, ?, ?, 97, 2026-01-27 03:54:37, 2026-01-27 03:54:37)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `st...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `st...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `st...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `st...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\StrengthSetRep))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\StrengthSetRep), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/StrengthSetRep.php(40): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1342): App\\Models\\StrengthSetRep::store(Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1283): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '27/01/26 Tuesda...')
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#65 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'weight' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `st...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `st...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `st...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `st...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `st...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `st...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\StrengthSetRep))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\StrengthSetRep), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/StrengthSetRep.php(40): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1342): App\\Models\\StrengthSetRep::store(Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1283): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 1, '27/01/26 Tuesda...')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#66 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#67 {main}
"} 
[2026-01-27 03:54:49] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:54:49] local.INFO: Tab value: weightlifting  
[2026-01-27 03:54:49] local.INFO: Tab value: test  
[2026-01-27 03:54:49] local.INFO: Tab value: test  
[2026-01-27 03:54:49] local.INFO: Tab value: warmup  
[2026-01-27 03:54:49] local.INFO: Tab value: strength  
[2026-01-27 03:54:49] local.INFO: Tab value: conditioning  
[2026-01-27 03:54:50] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-27 03:54:50] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:54:50] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:54:51] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:54:51] local.INFO: Received date: 27/01/26 Tuesday  
[2026-01-27 03:54:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":97,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"27/01/26 Tuesday","created_at":"2026-01-27T03:54:37.000000Z","updated_at":"2026-01-27T03:54:37.000000Z","workoutname":"Test","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[],"alt_category":null,"alt_workout":null}]}} 
[2026-01-27 03:54:51] local.INFO: Strength records fetched: 1  
[2026-01-27 03:54:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":97,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Test","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"27/01/26 Tuesday","sets":[]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-27 03:54:57] local.INFO: assignWorkoutToClass:  {"_token":"Kyd8NfHMWOYrUXmAUnvGz2hm6vOUMrwbQNukpci1","workout_id":"97","class_id":"237","type":"strength","action":"assign","date":"27/01/26 Tuesday"} 
[2026-01-27 03:54:57] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:54:57] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 03:54:57] local.INFO: Received date: 27/01/26 Tuesday  
[2026-01-27 03:54:57] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":97,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"27/01/26 Tuesday","created_at":"2026-01-27T03:54:37.000000Z","updated_at":"2026-01-27T03:54:57.000000Z","workoutname":"Test","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[],"alt_category":null,"alt_workout":null}]}} 
[2026-01-27 03:54:57] local.INFO: Strength records fetched: 1  
[2026-01-27 03:54:57] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":97,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Test","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[237],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"27/01/26 Tuesday","sets":[]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-27 04:35:45] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 04:35:46] local.INFO: Tab value: warmup  
[2026-01-27 04:35:46] local.INFO: Tab value: strength  
[2026-01-27 04:35:46] local.INFO: Tab value: conditioning  
[2026-01-27 04:35:46] local.INFO: Tab value: weightlifting  
[2026-01-27 04:35:46] local.INFO: Tab value: test  
[2026-01-27 04:35:46] local.INFO: Tab value: test  
[2026-01-27 04:35:46] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-27 04:35:46] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 04:35:57] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 04:35:57] local.INFO: Tab value: warmup  
[2026-01-27 04:35:57] local.INFO: Tab value: strength  
[2026-01-27 04:35:57] local.INFO: Tab value: conditioning  
[2026-01-27 04:35:58] local.INFO: Tab value: weightlifting  
[2026-01-27 04:35:58] local.INFO: Tab value: test  
[2026-01-27 04:35:58] local.INFO: Tab value: test  
[2026-01-27 04:35:58] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 04:35:58] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-27 04:37:59] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 04:37:59] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 04:38:08] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 04:38:08] local.INFO: Tab value: warmup  
[2026-01-27 04:38:08] local.INFO: Tab value: strength  
[2026-01-27 04:38:08] local.INFO: Tab value: conditioning  
[2026-01-27 04:38:08] local.INFO: Tab value: test  
[2026-01-27 04:38:08] local.INFO: Tab value: weightlifting  
[2026-01-27 04:38:08] local.INFO: Tab value: test  
[2026-01-27 04:38:08] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-27 04:38:08] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 04:38:11] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 04:38:11] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 04:58:35] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 04:58:35] local.INFO: Tab value: strength  
[2026-01-27 04:58:35] local.INFO: Tab value: conditioning  
[2026-01-27 04:58:35] local.INFO: Tab value: warmup  
[2026-01-27 04:58:36] local.INFO: Tab value: test  
[2026-01-27 04:58:36] local.INFO: Tab value: weightlifting  
[2026-01-27 04:58:36] local.INFO: Tab value: test  
[2026-01-27 04:58:36] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 04:58:36] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-27 05:13:24] local.INFO: Received request data: {"_token":"Kyd8NfHMWOYrUXmAUnvGz2hm6vOUMrwbQNukpci1","selectdates":"27/01/26 Tuesday","selecttabs":"strength","categorys_2":"3","name_1":null,"strength_id":null,"names_1":"Test2","categorys_1":"9","workouts_1":"125","weigths_1":"80","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"6","setweight_1":"80","sets_12":"2","reps_12":"6","setweight_12":"80","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-01-27 05:13:24] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"Test2","categorys_1":"9","workouts_1":"125","weigths_1":"80","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"6","setweight_1":"80","sets_12":"2","reps_12":"6","setweight_12":"80","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-01-27 05:13:24] local.INFO: Created Strength ID {"id":98} 
[2026-01-27 05:13:24] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"6","weight":"80","alt_set":null,"alt_reps":null,"strength_id":98} 
[2026-01-27 05:13:24] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"6","weight":"80","alt_set":null,"alt_reps":null,"strength_id":98} 
[2026-01-27 05:13:24] local.INFO: processedData strenght Request Data:  {"categorys_2":"3"} 
[2026-01-27 05:13:24] local.ERROR: Undefined array key "workouts" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"workouts\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:67)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 67)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(67): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 67)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1315): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1283): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '27/01/26 Tuesda...')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-01-27 05:13:31] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 05:13:31] local.INFO: Tab value: weightlifting  
[2026-01-27 05:13:31] local.INFO: Tab value: test  
[2026-01-27 05:13:31] local.INFO: Tab value: test  
[2026-01-27 05:13:31] local.INFO: Tab value: warmup  
[2026-01-27 05:13:31] local.INFO: Tab value: conditioning  
[2026-01-27 05:13:31] local.INFO: Tab value: strength  
[2026-01-27 05:13:31] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 05:13:31] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-27 05:13:33] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 05:13:33] local.INFO: Received date: 27/01/26 Tuesday  
[2026-01-27 05:13:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":97,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"27/01/26 Tuesday","created_at":"2026-01-27T03:54:37.000000Z","updated_at":"2026-01-27T03:54:57.000000Z","workoutname":"Test","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[],"alt_category":null,"alt_workout":null},{"id":98,"category_id":9,"workout_id":125,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"27/01/26 Tuesday","created_at":"2026-01-27T05:13:24.000000Z","updated_at":"2026-01-27T05:13:24.000000Z","workoutname":"Test2","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":267,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":98,"created_at":"2026-01-27T05:13:24.000000Z","updated_at":"2026-01-27T05:13:24.000000Z","weight":"80"},{"id":268,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":98,"created_at":"2026-01-27T05:13:24.000000Z","updated_at":"2026-01-27T05:13:24.000000Z","weight":"80"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-27 05:13:33] local.INFO: Strength records fetched: 2  
[2026-01-27 05:13:33] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":97,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Test","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[237],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"27/01/26 Tuesday","sets":[]},{"id":98,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"Test2","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"27/01/26 Tuesday","sets":[{"id":267,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":98,"created_at":"2026-01-27T05:13:24.000000Z","updated_at":"2026-01-27T05:13:24.000000Z","weight":"80"},{"id":268,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":98,"created_at":"2026-01-27T05:13:24.000000Z","updated_at":"2026-01-27T05:13:24.000000Z","weight":"80"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-27 05:13:33] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 05:13:54] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 05:14:08] local.INFO: Incoming Warmup Request Data:  {"_token":"Kyd8NfHMWOYrUXmAUnvGz2hm6vOUMrwbQNukpci1","selectdatew":"27/01/26 Tuesday","categoryw_2":"3","namew_2":null,"warmup_id":null,"namew_1":"Test3","categoryw_1":"8","workoutw_1":"23","repsw_1":"10","weigthc_1":"8","male_1":null,"female_1":null,"unit_1":"RPE"} 
[2026-01-27 05:14:08] local.INFO: Processing Warmup Group #1: {"namew_1":"Test3","categoryw_1":"8","workoutw_1":"23","repsw_1":"10","weigthc_1":"8","male_1":null,"female_1":null,"unit_1":"RPE"} 
[2026-01-27 05:14:08] local.INFO: Warmup entry saved with ID: 58  
[2026-01-27 05:14:08] local.INFO: Processing Warmup Group #2: {"categoryw_2":"3","namew_2":null} 
[2026-01-27 05:14:12] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 05:14:12] local.INFO: Day received: {"day":"27/01/26 Tuesday"} 
[2026-01-27 05:14:12] local.INFO: Received date: 27/01/26 Tuesday  
[2026-01-27 05:14:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":97,"category_id":4,"workout_id":17,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"27/01/26 Tuesday","created_at":"2026-01-27T03:54:37.000000Z","updated_at":"2026-01-27T03:54:57.000000Z","workoutname":"Test","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[],"alt_category":null,"alt_workout":null},{"id":98,"category_id":9,"workout_id":125,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"27/01/26 Tuesday","created_at":"2026-01-27T05:13:24.000000Z","updated_at":"2026-01-27T05:13:24.000000Z","workoutname":"Test2","is_assigned":0,"unit":"%","category":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null},"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},"setstrengthsetsreps":[{"id":267,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":98,"created_at":"2026-01-27T05:13:24.000000Z","updated_at":"2026-01-27T05:13:24.000000Z","weight":"80"},{"id":268,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":98,"created_at":"2026-01-27T05:13:24.000000Z","updated_at":"2026-01-27T05:13:24.000000Z","weight":"80"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-27 05:14:12] local.INFO: Strength records fetched: 2  
[2026-01-27 05:14:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":97,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"Test","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[237],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"27/01/26 Tuesday","sets":[]},{"id":98,"category_id":9,"category_name":"Horizontal Press","workout_id":125,"workout_type":"Bench","workoutname":"Test2","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"27/01/26 Tuesday","sets":[{"id":267,"sets":1,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":98,"created_at":"2026-01-27T05:13:24.000000Z","updated_at":"2026-01-27T05:13:24.000000Z","weight":"80"},{"id":268,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":98,"created_at":"2026-01-27T05:13:24.000000Z","updated_at":"2026-01-27T05:13:24.000000Z","weight":"80"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-28 09:14:27] local.INFO: Day received: {"day":"28/01/26 Wednesday"} 
[2026-01-28 09:14:28] local.INFO: Tab value: warmup  
[2026-01-28 09:14:28] local.INFO: Tab value: conditioning  
[2026-01-28 09:14:28] local.INFO: Tab value: strength  
[2026-01-28 09:14:28] local.INFO: Tab value: test  
[2026-01-28 09:14:28] local.INFO: Tab value: weightlifting  
[2026-01-28 09:14:28] local.INFO: Tab value: test  
[2026-01-28 09:14:28] local.INFO: Day received: {"day":"28/01/26 Wednesday"} 
[2026-01-28 09:14:28] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-28 09:14:30] local.INFO: Day received: {"day":"28/01/26 Wednesday"} 
[2026-01-28 09:14:30] local.INFO: Day received: {"day":"28/01/26 Wednesday"} 
[2026-01-28 09:14:30] local.INFO: Received date: 28/01/26 Wednesday  
[2026-01-28 09:14:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-28 09:14:30] local.INFO: Strength records fetched: 0  
[2026-01-28 09:14:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-29 01:20:39] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:20:39] local.INFO: Tab value: warmup  
[2026-01-29 01:20:39] local.INFO: Tab value: strength  
[2026-01-29 01:20:39] local.INFO: Tab value: conditioning  
[2026-01-29 01:20:40] local.INFO: Tab value: test  
[2026-01-29 01:20:40] local.INFO: Tab value: weightlifting  
[2026-01-29 01:20:40] local.INFO: Tab value: test  
[2026-01-29 01:20:40] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:20:40] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-29 01:21:27] local.INFO: Incoming Warmup Request Data:  {"_token":"zRTB11OjBs5sXu9IyCXW0lTX7vvz7JdBB6rpGxIL","selectdatew":"29/01/26 Thursday","namew_2":null,"warmup_id":null,"namew_1":"Squat warmup 1","categoryw_1":"4","workoutw_1":"114","repsw_1":"8","weigthc_1":"3","male_1":null,"female_1":null,"unit_1":"RPE"} 
[2026-01-29 01:21:27] local.INFO: Processing Warmup Group #1: {"namew_1":"Squat warmup 1","categoryw_1":"4","workoutw_1":"114","repsw_1":"8","weigthc_1":"3","male_1":null,"female_1":null,"unit_1":"RPE"} 
[2026-01-29 01:21:27] local.INFO: Warmup entry saved with ID: 59  
[2026-01-29 01:21:27] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-01-29 01:21:37] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:21:37] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:21:38] local.INFO: Received date: 29/01/26 Thursday  
[2026-01-29 01:21:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-01-29 01:21:38] local.INFO: Strength records fetched: 0  
[2026-01-29 01:21:38] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-29 01:23:01] local.INFO: Received request data: {"_token":"zRTB11OjBs5sXu9IyCXW0lTX7vvz7JdBB6rpGxIL","selectdates":"29/01/26 Thursday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"29/01/26","categorys_1":"4","workouts_1":"141","weigths_1":"65","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"4","setweight_1":"65","sets_12":"2","reps_12":"4","setweight_12":"65","sets_13":"3","reps_13":"4","setweight_13":"65","sets_14":"4","reps_14":"4","setweight_14":"65","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-01-29 01:23:01] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"29/01/26","categorys_1":"4","workouts_1":"141","weigths_1":"65","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"4","setweight_1":"65","sets_12":"2","reps_12":"4","setweight_12":"65","sets_13":"3","reps_13":"4","setweight_13":"65","sets_14":"4","reps_14":"4","setweight_14":"65","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-01-29 01:23:01] local.INFO: Created Strength ID {"id":99} 
[2026-01-29 01:23:01] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","weight":"65","alt_set":null,"alt_reps":null,"strength_id":99} 
[2026-01-29 01:23:01] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","weight":"65","alt_set":null,"alt_reps":null,"strength_id":99} 
[2026-01-29 01:23:01] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","weight":"65","alt_set":null,"alt_reps":null,"strength_id":99} 
[2026-01-29 01:23:01] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"4","weight":"65","alt_set":null,"alt_reps":null,"strength_id":99} 
[2026-01-29 01:23:04] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:23:04] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:23:04] local.INFO: Received date: 29/01/26 Thursday  
[2026-01-29 01:23:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":99,"category_id":4,"workout_id":141,"weight":65.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"29/01/26 Thursday","created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","workoutname":"29/01/26","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":269,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":270,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":271,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":272,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-29 01:23:04] local.INFO: Strength records fetched: 1  
[2026-01-29 01:23:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":99,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"29/01/26","weight":65.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"29/01/26 Thursday","sets":[{"id":269,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":270,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":271,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":272,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-29 01:23:25] local.INFO: Store Class Request Data: {"_token":"zRTB11OjBs5sXu9IyCXW0lTX7vvz7JdBB6rpGxIL","selectdatecla":"29/01/26 Thursday","time":"12:30","duration":"1","spots":"20"} 
[2026-01-29 01:23:25] local.INFO: Creating single class. Date input: 29/01/26 Thursday  
[2026-01-29 01:23:25] local.INFO: Parsed start date: 2026-01-29  
[2026-01-29 01:23:25] local.INFO: createClass helper called. Date: 29/01/26 Thursday, Time: 12:30, Spots: 20  
[2026-01-29 01:23:25] local.INFO: Class created in DB with ID: 238  
[2026-01-29 01:23:25] local.INFO: Single class creation called successfully.  
[2026-01-29 01:23:27] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:23:27] local.INFO: Tab value: warmup  
[2026-01-29 01:23:27] local.INFO: Tab value: strength  
[2026-01-29 01:23:27] local.INFO: Tab value: conditioning  
[2026-01-29 01:23:28] local.INFO: Tab value: weightlifting  
[2026-01-29 01:23:28] local.INFO: Tab value: test  
[2026-01-29 01:23:28] local.INFO: Tab value: test  
[2026-01-29 01:23:28] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-29 01:23:28] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:24:03] local.INFO: assignWorkoutToClass:  {"_token":"zRTB11OjBs5sXu9IyCXW0lTX7vvz7JdBB6rpGxIL","workout_id":"59","class_id":"238","type":"warmup","action":"assign","date":"29/01/26 Thursday"} 
[2026-01-29 01:24:05] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:24:05] local.INFO: Tab value: warmup  
[2026-01-29 01:24:05] local.INFO: Tab value: strength  
[2026-01-29 01:24:05] local.INFO: Tab value: conditioning  
[2026-01-29 01:24:05] local.INFO: Tab value: weightlifting  
[2026-01-29 01:24:05] local.INFO: Tab value: test  
[2026-01-29 01:24:05] local.INFO: Tab value: test  
[2026-01-29 01:24:05] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:24:05] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-29 01:24:06] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:24:06] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:24:06] local.INFO: Received date: 29/01/26 Thursday  
[2026-01-29 01:24:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":99,"category_id":4,"workout_id":141,"weight":65.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"29/01/26 Thursday","created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","workoutname":"29/01/26","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":269,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":270,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":271,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":272,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-29 01:24:06] local.INFO: Strength records fetched: 1  
[2026-01-29 01:24:06] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":99,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"29/01/26","weight":65.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"29/01/26 Thursday","sets":[{"id":269,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":270,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":271,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":272,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-29 01:24:10] local.INFO: assignWorkoutToClass:  {"_token":"zRTB11OjBs5sXu9IyCXW0lTX7vvz7JdBB6rpGxIL","workout_id":"99","class_id":"238","type":"strength","action":"assign","date":"29/01/26 Thursday"} 
[2026-01-29 01:24:10] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:24:11] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:24:11] local.INFO: Received date: 29/01/26 Thursday  
[2026-01-29 01:24:11] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":99,"category_id":4,"workout_id":141,"weight":65.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"29/01/26 Thursday","created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:24:10.000000Z","workoutname":"29/01/26","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":269,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":270,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":271,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":272,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-29 01:24:11] local.INFO: Strength records fetched: 1  
[2026-01-29 01:24:11] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":99,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"29/01/26","weight":65.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[238],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"29/01/26 Thursday","sets":[{"id":269,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":270,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":271,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":272,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-29 01:25:06] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:25:06] local.INFO: Tab value: warmup  
[2026-01-29 01:25:06] local.INFO: Tab value: conditioning  
[2026-01-29 01:25:06] local.INFO: Tab value: strength  
[2026-01-29 01:25:06] local.INFO: Tab value: weightlifting  
[2026-01-29 01:25:06] local.INFO: Tab value: test  
[2026-01-29 01:25:06] local.INFO: Tab value: test  
[2026-01-29 01:25:06] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-01-29 01:25:06] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:25:08] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:25:08] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:25:08] local.INFO: Received date: 29/01/26 Thursday  
[2026-01-29 01:25:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":99,"category_id":4,"workout_id":141,"weight":65.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"29/01/26 Thursday","created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:24:10.000000Z","workoutname":"29/01/26","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":269,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":270,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":271,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":272,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-29 01:25:08] local.INFO: Strength records fetched: 1  
[2026-01-29 01:25:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":99,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"29/01/26","weight":65.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[238],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"29/01/26 Thursday","sets":[{"id":269,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":270,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":271,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":272,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-29 01:26:07] local.INFO: Received request data: {"_token":"zRTB11OjBs5sXu9IyCXW0lTX7vvz7JdBB6rpGxIL","selectdates":"29/01/26 Thursday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"29/01/26","categorys_1":"6","workouts_1":"143","weigths_1":"24","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"20","setweight_1":"24","sets_12":"2","reps_12":null,"setweight_12":"24","sets_13":"3","reps_13":null,"setweight_13":"24","sets_14":"4","reps_14":null,"setweight_14":"24","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-01-29 01:26:07] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"29/01/26","categorys_1":"6","workouts_1":"143","weigths_1":"24","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"20","setweight_1":"24","sets_12":"2","reps_12":null,"setweight_12":"24","sets_13":"3","reps_13":null,"setweight_13":"24","sets_14":"4","reps_14":null,"setweight_14":"24","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-01-29 01:26:07] local.INFO: Created Strength ID {"id":100} 
[2026-01-29 01:26:07] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"20","weight":"24","alt_set":null,"alt_reps":null,"strength_id":100} 
[2026-01-29 01:26:07] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":null,"weight":"24","alt_set":null,"alt_reps":null,"strength_id":100} 
[2026-01-29 01:26:07] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":null,"weight":"24","alt_set":null,"alt_reps":null,"strength_id":100} 
[2026-01-29 01:26:07] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":null,"weight":"24","alt_set":null,"alt_reps":null,"strength_id":100} 
[2026-01-29 01:26:10] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:26:10] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:26:10] local.INFO: Received date: 29/01/26 Thursday  
[2026-01-29 01:26:10] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":99,"category_id":4,"workout_id":141,"weight":65.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"29/01/26 Thursday","created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:24:10.000000Z","workoutname":"29/01/26","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":269,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":270,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":271,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":272,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"}],"alt_category":null,"alt_workout":null},{"id":100,"category_id":6,"workout_id":143,"weight":24.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"29/01/26 Thursday","created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","workoutname":"29/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},"setstrengthsetsreps":[{"id":273,"sets":1,"reps":20,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"},{"id":274,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"},{"id":275,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"},{"id":276,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-29 01:26:10] local.INFO: Strength records fetched: 2  
[2026-01-29 01:26:10] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":99,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"29/01/26","weight":65.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[238],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"29/01/26 Thursday","sets":[{"id":269,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":270,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":271,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":272,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"}]},{"id":100,"category_id":6,"category_name":"Carry/Oly","workout_id":143,"workout_type":"Overhead carry KB","workoutname":"29/01/26","weight":24.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"29/01/26 Thursday","sets":[{"id":273,"sets":1,"reps":20,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"},{"id":274,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"},{"id":275,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"},{"id":276,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-29 01:26:12] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:26:12] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:32:31] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:32:39] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:32:39] local.INFO: Day received: {"day":"29/01/26 Thursday"} 
[2026-01-29 01:32:39] local.INFO: Received date: 29/01/26 Thursday  
[2026-01-29 01:32:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":99,"category_id":4,"workout_id":141,"weight":65.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"29/01/26 Thursday","created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:24:10.000000Z","workoutname":"29/01/26","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":269,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":270,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":271,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":272,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"}],"alt_category":null,"alt_workout":null},{"id":100,"category_id":6,"workout_id":143,"weight":24.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"29/01/26 Thursday","created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","workoutname":"29/01/26","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},"setstrengthsetsreps":[{"id":273,"sets":1,"reps":20,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"},{"id":274,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"},{"id":275,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"},{"id":276,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"}],"alt_category":null,"alt_workout":null}]}} 
[2026-01-29 01:32:39] local.INFO: Strength records fetched: 2  
[2026-01-29 01:32:39] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":99,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"29/01/26","weight":65.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[238],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"29/01/26 Thursday","sets":[{"id":269,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":270,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":271,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"},{"id":272,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":99,"created_at":"2026-01-29T01:23:01.000000Z","updated_at":"2026-01-29T01:23:01.000000Z","weight":"65"}]},{"id":100,"category_id":6,"category_name":"Carry/Oly","workout_id":143,"workout_type":"Overhead carry KB","workoutname":"29/01/26","weight":24.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"29/01/26 Thursday","sets":[{"id":273,"sets":1,"reps":20,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"},{"id":274,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"},{"id":275,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"},{"id":276,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":100,"created_at":"2026-01-29T01:26:07.000000Z","updated_at":"2026-01-29T01:26:07.000000Z","weight":"24"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-01-30 04:25:37] local.INFO: Day received (raw): {"day":"Saturday 31/01/2026"} 
[2026-01-30 04:25:37] local.INFO: Day received (sanitized): {"day":"Saturday 31/01/2026"} 
[2026-01-30 04:25:37] local.INFO: Assigned workouts {"class_id":93,"search_patterns":["%31/01/26%","%31/01/2026%","%31/01/26 Saturday%","%31/01/2026 Saturday%","%Saturday 31/01/26%","%Saturday 31/01/2026%"],"assigned_count":[]} 
[2026-02-02 01:31:20] local.INFO: Day received: {"day":"02/02/26 Monday"} 
[2026-02-02 01:31:20] local.INFO: Tab value: warmup  
[2026-02-02 01:31:20] local.INFO: Tab value: conditioning  
[2026-02-02 01:31:20] local.INFO: Tab value: weightlifting  
[2026-02-02 01:31:20] local.INFO: Tab value: test  
[2026-02-02 01:31:20] local.INFO: Tab value: test  
[2026-02-02 01:31:21] local.INFO: Tab value: strength  
[2026-02-02 01:31:21] local.INFO: Day received: {"day":"02/02/26 Monday"} 
[2026-02-02 01:31:21] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-02 01:31:45] local.INFO: Day received: {"day":"02/02/26 Monday"} 
[2026-02-02 01:31:45] local.INFO: Day received: {"day":"02/02/26 Monday"} 
[2026-02-02 01:31:46] local.INFO: Received date: 02/02/26 Monday  
[2026-02-02 01:31:46] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-02 01:31:46] local.INFO: Strength records fetched: 0  
[2026-02-02 01:31:46] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-02 01:32:13] local.INFO: return Strength Request Data:  {"_token":"UyaquTVLbwyqYJl3oyAFdBN9We58wi4UFEqF34AR","date":"02/02/26 Monday","name":null,"category_id":"4","workout_id":"141"} 
[2026-02-02 01:32:13] local.INFO: Response filtered data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Builder":[]}} 
[2026-02-02 01:33:07] local.INFO: Received request data: {"_token":"UyaquTVLbwyqYJl3oyAFdBN9We58wi4UFEqF34AR","selectdates":"02/02/26 Monday","selecttabs":"strength","categorys_2":"4","workouts_2":"141","name_1":null,"strength_id":null,"names_1":"02/02/26","categorys_1":"4","workouts_1":"141","weigths_1":"100","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"4","setweight_1":"100","sets_12":"2","reps_12":"4","setweight_12":"100","sets_13":"3","reps_13":"4","setweight_13":"100","sets_14":"4","reps_14":"4","setweight_14":"100","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-02 01:33:07] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"02/02/26","categorys_1":"4","workouts_1":"141","weigths_1":"100","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"4","setweight_1":"100","sets_12":"2","reps_12":"4","setweight_12":"100","sets_13":"3","reps_13":"4","setweight_13":"100","sets_14":"4","reps_14":"4","setweight_14":"100","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-02 01:33:08] local.INFO: Created Strength ID {"id":101} 
[2026-02-02 01:33:08] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","weight":"100","alt_set":null,"alt_reps":null,"strength_id":101} 
[2026-02-02 01:33:08] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","weight":"100","alt_set":null,"alt_reps":null,"strength_id":101} 
[2026-02-02 01:33:08] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","weight":"100","alt_set":null,"alt_reps":null,"strength_id":101} 
[2026-02-02 01:33:08] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"4","weight":"100","alt_set":null,"alt_reps":null,"strength_id":101} 
[2026-02-02 01:33:08] local.INFO: processedData strenght Request Data:  {"categorys_2":"4","workouts_2":"141"} 
[2026-02-02 01:33:08] local.ERROR: Undefined array key "weigths" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"weigths\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:68)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 68)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(68): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 68)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1315): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1283): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '02/02/26 Monday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-02-02 01:33:13] local.INFO: Received request data: {"_token":"UyaquTVLbwyqYJl3oyAFdBN9We58wi4UFEqF34AR","selectdates":"02/02/26 Monday","selecttabs":"strength","categorys_2":"4","workouts_2":"141","name_1":null,"strength_id":null,"names_1":"02/02/26","categorys_1":"4","workouts_1":"141","weigths_1":"100","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"4","setweight_1":"100","sets_12":"2","reps_12":"4","setweight_12":"100","sets_13":"3","reps_13":"4","setweight_13":"100","sets_14":"4","reps_14":"4","setweight_14":"100","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-02 01:33:13] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"02/02/26","categorys_1":"4","workouts_1":"141","weigths_1":"100","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"4","setweight_1":"100","sets_12":"2","reps_12":"4","setweight_12":"100","sets_13":"3","reps_13":"4","setweight_13":"100","sets_14":"4","reps_14":"4","setweight_14":"100","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-02 01:33:13] local.INFO: Created Strength ID {"id":102} 
[2026-02-02 01:33:13] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","weight":"100","alt_set":null,"alt_reps":null,"strength_id":102} 
[2026-02-02 01:33:13] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","weight":"100","alt_set":null,"alt_reps":null,"strength_id":102} 
[2026-02-02 01:33:13] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","weight":"100","alt_set":null,"alt_reps":null,"strength_id":102} 
[2026-02-02 01:33:13] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"4","weight":"100","alt_set":null,"alt_reps":null,"strength_id":102} 
[2026-02-02 01:33:13] local.INFO: processedData strenght Request Data:  {"categorys_2":"4","workouts_2":"141"} 
[2026-02-02 01:33:13] local.ERROR: Undefined array key "weigths" {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined array key \"weigths\" at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php:68)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Undefined array...', '/home/vpbifrost...', 68)
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Models/Strength.php(68): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}(2, 'Undefined array...', '/home/vpbifrost...', 68)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1315): App\\Models\\Strength::store(Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1283): App\\Http\\Controllers\\SessionController->filterdatastrength(Array, 2, '02/02/26 Monday')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->strengthstore(Object(Illuminate\\Http\\Request))
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('strengthstore', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'strengthstore')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#52 {main}
"} 
[2026-02-02 01:33:20] local.INFO: Day received: {"day":"02/02/26 Monday"} 
[2026-02-02 01:33:21] local.INFO: Received date: 02/02/26 Monday  
[2026-02-02 01:33:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":101,"category_id":4,"workout_id":141,"weight":100.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"02/02/26 Monday","created_at":"2026-02-02T01:33:07.000000Z","updated_at":"2026-02-02T01:33:07.000000Z","workoutname":"02/02/26","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":277,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"},{"id":278,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"},{"id":279,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"},{"id":280,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"}],"alt_category":null,"alt_workout":null},{"id":102,"category_id":4,"workout_id":141,"weight":100.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"02/02/26 Monday","created_at":"2026-02-02T01:33:13.000000Z","updated_at":"2026-02-02T01:33:13.000000Z","workoutname":"02/02/26","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":281,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":102,"created_at":"2026-02-02T01:33:13.000000Z","updated_at":"2026-02-02T01:33:13.000000Z","weight":"100"},{"id":282,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":102,"created_at":"2026-02-02T01:33:13.000000Z","updated_at":"2026-02-02T01:33:13.000000Z","weight":"100"},{"id":283,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":102,"created_at":"2026-02-02T01:33:13.000000Z","updated_at":"2026-02-02T01:33:13.000000Z","weight":"100"},{"id":284,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":102,"created_at":"2026-02-02T01:33:13.000000Z","updated_at":"2026-02-02T01:33:13.000000Z","weight":"100"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-02 01:33:21] local.INFO: Strength records fetched: 2  
[2026-02-02 01:33:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":101,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"02/02/26","weight":100.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"02/02/26 Monday","sets":[{"id":277,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"},{"id":278,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"},{"id":279,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"},{"id":280,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"}]},{"id":102,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"02/02/26","weight":100.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"02/02/26 Monday","sets":[{"id":281,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":102,"created_at":"2026-02-02T01:33:13.000000Z","updated_at":"2026-02-02T01:33:13.000000Z","weight":"100"},{"id":282,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":102,"created_at":"2026-02-02T01:33:13.000000Z","updated_at":"2026-02-02T01:33:13.000000Z","weight":"100"},{"id":283,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":102,"created_at":"2026-02-02T01:33:13.000000Z","updated_at":"2026-02-02T01:33:13.000000Z","weight":"100"},{"id":284,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":102,"created_at":"2026-02-02T01:33:13.000000Z","updated_at":"2026-02-02T01:33:13.000000Z","weight":"100"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-02 01:33:27] local.INFO: Day received: {"day":"02/02/26 Monday"} 
[2026-02-02 01:33:27] local.INFO: Received date: 02/02/26 Monday  
[2026-02-02 01:33:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":101,"category_id":4,"workout_id":141,"weight":100.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"02/02/26 Monday","created_at":"2026-02-02T01:33:07.000000Z","updated_at":"2026-02-02T01:33:07.000000Z","workoutname":"02/02/26","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"},"setstrengthsetsreps":[{"id":277,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"},{"id":278,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"},{"id":279,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"},{"id":280,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-02 01:33:27] local.INFO: Strength records fetched: 1  
[2026-02-02 01:33:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":101,"category_id":4,"category_name":"Squat","workout_id":141,"workout_type":"Zercher squat","workoutname":"02/02/26","weight":100.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"02/02/26 Monday","sets":[{"id":277,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"},{"id":278,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"},{"id":279,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"},{"id":280,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":101,"created_at":"2026-02-02T01:33:08.000000Z","updated_at":"2026-02-02T01:33:08.000000Z","weight":"100"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-04 01:28:12] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:28:13] local.INFO: Tab value: warmup  
[2026-02-04 01:28:13] local.INFO: Tab value: strength  
[2026-02-04 01:28:13] local.INFO: Tab value: conditioning  
[2026-02-04 01:28:13] local.INFO: Tab value: weightlifting  
[2026-02-04 01:28:13] local.INFO: Tab value: test  
[2026-02-04 01:28:13] local.INFO: Tab value: test  
[2026-02-04 01:28:13] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:28:13] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-04 01:28:15] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:28:15] local.INFO: Received date: 04/02/26 Wednesday  
[2026-02-04 01:28:15] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:28:16] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-04 01:28:16] local.INFO: Strength records fetched: 0  
[2026-02-04 01:28:16] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-04 01:28:18] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:28:19] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:28:19] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:28:19] local.INFO: Received date: 04/02/26 Wednesday  
[2026-02-04 01:28:19] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-04 01:28:19] local.INFO: Strength records fetched: 0  
[2026-02-04 01:28:19] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-04 01:29:25] local.INFO: Received request data: {"_token":"A5kygmdm2AFn0Do13uUyPSkuKP2G9zdEiecmfLYI","selectdates":"04/02/26 Wednesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"040226","categorys_1":"6","workouts_1":"81","weigths_1":"150","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"1","setweight_1":"150","sets_12":"2","reps_12":null,"setweight_12":"150","sets_13":"3","reps_13":null,"setweight_13":"150","sets_14":"4","reps_14":null,"setweight_14":"150","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-04 01:29:25] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"040226","categorys_1":"6","workouts_1":"81","weigths_1":"150","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"1","setweight_1":"150","sets_12":"2","reps_12":null,"setweight_12":"150","sets_13":"3","reps_13":null,"setweight_13":"150","sets_14":"4","reps_14":null,"setweight_14":"150","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-04 01:29:25] local.INFO: Created Strength ID {"id":103} 
[2026-02-04 01:29:25] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"1","weight":"150","alt_set":null,"alt_reps":null,"strength_id":103} 
[2026-02-04 01:29:25] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":null,"weight":"150","alt_set":null,"alt_reps":null,"strength_id":103} 
[2026-02-04 01:29:25] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":null,"weight":"150","alt_set":null,"alt_reps":null,"strength_id":103} 
[2026-02-04 01:29:25] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":null,"weight":"150","alt_set":null,"alt_reps":null,"strength_id":103} 
[2026-02-04 01:29:28] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:29:28] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:29:28] local.INFO: Received date: 04/02/26 Wednesday  
[2026-02-04 01:29:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":103,"category_id":6,"workout_id":81,"weight":150.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","workoutname":"040226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-04 01:29:28] local.INFO: Strength records fetched: 1  
[2026-02-04 01:29:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":103,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"040226","weight":150.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-04 01:29:47] local.INFO: Store Class Request Data: {"_token":"A5kygmdm2AFn0Do13uUyPSkuKP2G9zdEiecmfLYI","selectdatecla":"04/02/26 Wednesday","time":"12:30","duration":"1","spots":"20"} 
[2026-02-04 01:29:47] local.INFO: Creating single class. Date input: 04/02/26 Wednesday  
[2026-02-04 01:29:47] local.INFO: Parsed start date: 2026-02-04  
[2026-02-04 01:29:47] local.INFO: createClass helper called. Date: 04/02/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-04 01:29:47] local.INFO: Class created in DB with ID: 239  
[2026-02-04 01:29:47] local.INFO: Single class creation called successfully.  
[2026-02-04 01:29:49] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:29:49] local.INFO: Tab value: warmup  
[2026-02-04 01:29:49] local.INFO: Tab value: conditioning  
[2026-02-04 01:29:49] local.INFO: Tab value: strength  
[2026-02-04 01:29:49] local.INFO: Tab value: weightlifting  
[2026-02-04 01:29:49] local.INFO: Tab value: test  
[2026-02-04 01:29:49] local.INFO: Tab value: test  
[2026-02-04 01:29:49] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-04 01:29:49] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:29:52] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:29:53] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:29:53] local.INFO: Received date: 04/02/26 Wednesday  
[2026-02-04 01:29:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":103,"category_id":6,"workout_id":81,"weight":150.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","workoutname":"040226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-04 01:29:53] local.INFO: Strength records fetched: 1  
[2026-02-04 01:29:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":103,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"040226","weight":150.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-04 01:29:57] local.INFO: assignWorkoutToClass:  {"_token":"A5kygmdm2AFn0Do13uUyPSkuKP2G9zdEiecmfLYI","workout_id":"103","class_id":"239","type":"strength","action":"assign","date":"04/02/26 Wednesday"} 
[2026-02-04 01:29:57] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:29:58] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:29:58] local.INFO: Received date: 04/02/26 Wednesday  
[2026-02-04 01:29:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":103,"category_id":6,"workout_id":81,"weight":150.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:57.000000Z","workoutname":"040226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-04 01:29:58] local.INFO: Strength records fetched: 1  
[2026-02-04 01:29:58] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":103,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"040226","weight":150.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[239],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-04 01:30:57] local.INFO: Received request data: {"_token":"A5kygmdm2AFn0Do13uUyPSkuKP2G9zdEiecmfLYI","selectdates":"04/02/26 Wednesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"040226","categorys_1":"6","workouts_1":"84","weigths_1":"45","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"5","setweight_1":"45","sets_12":"2","reps_12":"5","setweight_12":"45","sets_13":"3","reps_13":"5","setweight_13":"45","sets_14":"4","reps_14":"5","setweight_14":"45","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-04 01:30:57] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"040226","categorys_1":"6","workouts_1":"84","weigths_1":"45","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"5","setweight_1":"45","sets_12":"2","reps_12":"5","setweight_12":"45","sets_13":"3","reps_13":"5","setweight_13":"45","sets_14":"4","reps_14":"5","setweight_14":"45","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-04 01:30:57] local.INFO: Created Strength ID {"id":104} 
[2026-02-04 01:30:57] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","weight":"45","alt_set":null,"alt_reps":null,"strength_id":104} 
[2026-02-04 01:30:57] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","weight":"45","alt_set":null,"alt_reps":null,"strength_id":104} 
[2026-02-04 01:30:57] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","weight":"45","alt_set":null,"alt_reps":null,"strength_id":104} 
[2026-02-04 01:30:57] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","weight":"45","alt_set":null,"alt_reps":null,"strength_id":104} 
[2026-02-04 01:30:59] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:30:59] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:30:59] local.INFO: Received date: 04/02/26 Wednesday  
[2026-02-04 01:30:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":103,"category_id":6,"workout_id":81,"weight":150.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:57.000000Z","workoutname":"040226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}],"alt_category":null,"alt_workout":null},{"id":104,"category_id":6,"workout_id":84,"weight":45.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","workoutname":"040226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},"setstrengthsetsreps":[{"id":289,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":290,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":291,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":292,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-04 01:30:59] local.INFO: Strength records fetched: 2  
[2026-02-04 01:30:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":103,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"040226","weight":150.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[239],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}]},{"id":104,"category_id":6,"category_name":"Carry/Oly","workout_id":84,"workout_type":"Sandbag carry","workoutname":"040226","weight":45.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":289,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":290,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":291,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":292,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-04 01:31:50] local.INFO: Received request data: {"_token":"A5kygmdm2AFn0Do13uUyPSkuKP2G9zdEiecmfLYI","selectdates":"04/02/26 Wednesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"040226","categorys_1":"6","workouts_1":"137","weigths_1":"180","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"1","setweight_1":"180","sets_12":"2","reps_12":"1","setweight_12":"180","sets_13":"3","reps_13":"1","setweight_13":"180","sets_14":"4","reps_14":"1","setweight_14":"180","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00"} 
[2026-02-04 01:31:50] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"040226","categorys_1":"6","workouts_1":"137","weigths_1":"180","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"1","setweight_1":"180","sets_12":"2","reps_12":"1","setweight_12":"180","sets_13":"3","reps_13":"1","setweight_13":"180","sets_14":"4","reps_14":"1","setweight_14":"180","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00"} 
[2026-02-04 01:31:50] local.INFO: Created Strength ID {"id":105} 
[2026-02-04 01:31:50] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"1","weight":"180","alt_set":null,"alt_reps":null,"strength_id":105} 
[2026-02-04 01:31:50] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"1","weight":"180","alt_set":null,"alt_reps":null,"strength_id":105} 
[2026-02-04 01:31:50] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"1","weight":"180","alt_set":null,"alt_reps":null,"strength_id":105} 
[2026-02-04 01:31:50] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"1","weight":"180","alt_set":null,"alt_reps":null,"strength_id":105} 
[2026-02-04 01:31:52] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:31:52] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:31:53] local.INFO: Received date: 04/02/26 Wednesday  
[2026-02-04 01:31:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":103,"category_id":6,"workout_id":81,"weight":150.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:57.000000Z","workoutname":"040226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}],"alt_category":null,"alt_workout":null},{"id":104,"category_id":6,"workout_id":84,"weight":45.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","workoutname":"040226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},"setstrengthsetsreps":[{"id":289,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":290,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":291,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":292,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"}],"alt_category":null,"alt_workout":null},{"id":105,"category_id":6,"workout_id":137,"weight":180.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","workoutname":"040226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},"setstrengthsetsreps":[{"id":293,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":294,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":295,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":296,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-04 01:31:53] local.INFO: Strength records fetched: 3  
[2026-02-04 01:31:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":103,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"040226","weight":150.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[239],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}]},{"id":104,"category_id":6,"category_name":"Carry/Oly","workout_id":84,"workout_type":"Sandbag carry","workoutname":"040226","weight":45.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":289,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":290,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":291,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":292,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"}]},{"id":105,"category_id":6,"category_name":"Carry/Oly","workout_id":137,"workout_type":"Sled drag","workoutname":"040226","weight":180.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":293,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":294,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":295,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":296,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-04 01:31:59] local.INFO: assignWorkoutToClass:  {"_token":"A5kygmdm2AFn0Do13uUyPSkuKP2G9zdEiecmfLYI","workout_id":"104","class_id":"239","type":"strength","action":"assign","date":"04/02/26 Wednesday"} 
[2026-02-04 01:31:59] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:32:00] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:32:00] local.INFO: Received date: 04/02/26 Wednesday  
[2026-02-04 01:32:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":103,"category_id":6,"workout_id":81,"weight":150.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:57.000000Z","workoutname":"040226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}],"alt_category":null,"alt_workout":null},{"id":104,"category_id":6,"workout_id":84,"weight":45.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:31:59.000000Z","workoutname":"040226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},"setstrengthsetsreps":[{"id":289,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":290,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":291,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":292,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"}],"alt_category":null,"alt_workout":null},{"id":105,"category_id":6,"workout_id":137,"weight":180.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","workoutname":"040226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},"setstrengthsetsreps":[{"id":293,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":294,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":295,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":296,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-04 01:32:00] local.INFO: Strength records fetched: 3  
[2026-02-04 01:32:00] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":103,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"040226","weight":150.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[239],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}]},{"id":104,"category_id":6,"category_name":"Carry/Oly","workout_id":84,"workout_type":"Sandbag carry","workoutname":"040226","weight":45.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[239],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":289,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":290,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":291,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":292,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"}]},{"id":105,"category_id":6,"category_name":"Carry/Oly","workout_id":137,"workout_type":"Sled drag","workoutname":"040226","weight":180.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":293,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":294,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":295,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":296,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-04 01:32:03] local.INFO: assignWorkoutToClass:  {"_token":"A5kygmdm2AFn0Do13uUyPSkuKP2G9zdEiecmfLYI","workout_id":"105","class_id":"239","type":"strength","action":"assign","date":"04/02/26 Wednesday"} 
[2026-02-04 01:32:04] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:32:04] local.INFO: Received date: 04/02/26 Wednesday  
[2026-02-04 01:32:04] local.INFO: Day received: {"day":"04/02/26 Wednesday"} 
[2026-02-04 01:32:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":103,"category_id":6,"workout_id":81,"weight":150.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:57.000000Z","workoutname":"040226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}],"alt_category":null,"alt_workout":null},{"id":104,"category_id":6,"workout_id":84,"weight":45.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:31:59.000000Z","workoutname":"040226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},"setstrengthsetsreps":[{"id":289,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":290,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":291,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":292,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"}],"alt_category":null,"alt_workout":null},{"id":105,"category_id":6,"workout_id":137,"weight":180.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"04/02/26 Wednesday","created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:32:03.000000Z","workoutname":"040226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},"setstrengthsetsreps":[{"id":293,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":294,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":295,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":296,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-04 01:32:04] local.INFO: Strength records fetched: 3  
[2026-02-04 01:32:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":103,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"040226","weight":150.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[239],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":285,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":286,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":287,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"},{"id":288,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":103,"created_at":"2026-02-04T01:29:25.000000Z","updated_at":"2026-02-04T01:29:25.000000Z","weight":"150"}]},{"id":104,"category_id":6,"category_name":"Carry/Oly","workout_id":84,"workout_type":"Sandbag carry","workoutname":"040226","weight":45.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[239],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":289,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":290,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":291,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"},{"id":292,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":104,"created_at":"2026-02-04T01:30:57.000000Z","updated_at":"2026-02-04T01:30:57.000000Z","weight":"45"}]},{"id":105,"category_id":6,"category_name":"Carry/Oly","workout_id":137,"workout_type":"Sled drag","workoutname":"040226","weight":180.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[239],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"04/02/26 Wednesday","sets":[{"id":293,"sets":1,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":294,"sets":2,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":295,"sets":3,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"},{"id":296,"sets":4,"reps":1,"alt_sets":null,"alt_reps":null,"strength_id":105,"created_at":"2026-02-04T01:31:50.000000Z","updated_at":"2026-02-04T01:31:50.000000Z","weight":"180"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-05 01:10:19] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:10:19] local.INFO: Tab value: warmup  
[2026-02-05 01:10:19] local.INFO: Tab value: strength  
[2026-02-05 01:10:19] local.INFO: Tab value: conditioning  
[2026-02-05 01:10:19] local.INFO: Tab value: test  
[2026-02-05 01:10:19] local.INFO: Tab value: weightlifting  
[2026-02-05 01:10:19] local.INFO: Tab value: test  
[2026-02-05 01:10:20] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:10:20] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-05 01:10:29] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:10:30] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:10:30] local.INFO: Received date: 05/02/26 Thursday  
[2026-02-05 01:10:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-05 01:10:30] local.INFO: Strength records fetched: 0  
[2026-02-05 01:10:30] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-05 01:11:17] local.INFO: Received request data: {"_token":"zkQqhvEn4EiBx0J6cGOSd4LPufeNYMysXq1C6w8s","selectdates":"05/02/26 Thursday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"050226","categorys_1":"5","workouts_1":"71","weigths_1":"85","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"3","setweight_1":"85","sets_12":"2","reps_12":"3","setweight_12":"85","sets_13":"3","reps_13":"3","setweight_13":"85","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-05 01:11:17] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"050226","categorys_1":"5","workouts_1":"71","weigths_1":"85","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"3","setweight_1":"85","sets_12":"2","reps_12":"3","setweight_12":"85","sets_13":"3","reps_13":"3","setweight_13":"85","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-05 01:11:17] local.INFO: Created Strength ID {"id":106} 
[2026-02-05 01:11:17] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"3","weight":"85","alt_set":null,"alt_reps":null,"strength_id":106} 
[2026-02-05 01:11:18] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"3","weight":"85","alt_set":null,"alt_reps":null,"strength_id":106} 
[2026-02-05 01:11:18] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"3","weight":"85","alt_set":null,"alt_reps":null,"strength_id":106} 
[2026-02-05 01:11:20] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:11:20] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:11:20] local.INFO: Received date: 05/02/26 Thursday  
[2026-02-05 01:11:20] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":106,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"05/02/26 Thursday","created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","workoutname":"050226","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":297,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","weight":"85"},{"id":298,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"},{"id":299,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-05 01:11:20] local.INFO: Strength records fetched: 1  
[2026-02-05 01:11:20] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":106,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"050226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"05/02/26 Thursday","sets":[{"id":297,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","weight":"85"},{"id":298,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"},{"id":299,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-05 01:11:46] local.INFO: Store Class Request Data: {"_token":"zkQqhvEn4EiBx0J6cGOSd4LPufeNYMysXq1C6w8s","selectdatecla":"05/02/26 Thursday","time":"12:30","duration":"1","spots":"20","days":["Mon","Tue","Wed","Thu","Fri"]} 
[2026-02-05 01:11:47] local.INFO: Creating recurring classes for days: Mon, Tue, Wed, Thu, Fri  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 05/02/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 240  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 06/02/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 241  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 09/02/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 242  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 10/02/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 243  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 11/02/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 244  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 12/02/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 245  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 13/02/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 246  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 16/02/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 247  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 17/02/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 248  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 18/02/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 249  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 19/02/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 250  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 20/02/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 251  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 23/02/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 252  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 24/02/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 253  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 25/02/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 254  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 26/02/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 255  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 27/02/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 256  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 02/03/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 257  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 03/03/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 258  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 04/03/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 259  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 05/03/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 260  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 06/03/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 261  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 09/03/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 262  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 10/03/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 263  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 11/03/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 264  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 12/03/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 265  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 13/03/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 266  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 16/03/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 267  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 17/03/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 268  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 18/03/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 269  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 19/03/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 270  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 20/03/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 271  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 23/03/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 272  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 24/03/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 273  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 25/03/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 274  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 26/03/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 275  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 27/03/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 276  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 30/03/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 277  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 31/03/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 278  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 01/04/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 279  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 02/04/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 280  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 03/04/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 281  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 06/04/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 282  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 07/04/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 283  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 08/04/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 284  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 09/04/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 285  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 10/04/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 286  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 13/04/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 287  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 14/04/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 288  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 15/04/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 289  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 16/04/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 290  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 17/04/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 291  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 20/04/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 292  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 21/04/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 293  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 22/04/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 294  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 23/04/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 295  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 24/04/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 296  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 27/04/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 297  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 28/04/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 298  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 29/04/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 299  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 30/04/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 300  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 01/05/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 301  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 04/05/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 302  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 05/05/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 303  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 06/05/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 304  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 07/05/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 305  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 08/05/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 306  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 11/05/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 307  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 12/05/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 308  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 13/05/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 309  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 14/05/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 310  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 15/05/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 311  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 18/05/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 312  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 19/05/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 313  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 20/05/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 314  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 21/05/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 315  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 22/05/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 316  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 25/05/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 317  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 26/05/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 318  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 27/05/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 319  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 28/05/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 320  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 29/05/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 321  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 01/06/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 322  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 02/06/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 323  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 03/06/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 324  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 04/06/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 325  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 05/06/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 326  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 08/06/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 327  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 09/06/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 328  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 10/06/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 329  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 11/06/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 330  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 12/06/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 331  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 15/06/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 332  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 16/06/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 333  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 17/06/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 334  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 18/06/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 335  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 19/06/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 336  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 22/06/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 337  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 23/06/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 338  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 24/06/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 339  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 25/06/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 340  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 26/06/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 341  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 29/06/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 342  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 30/06/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 343  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 01/07/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 344  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 02/07/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 345  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 03/07/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 346  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 06/07/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 347  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 07/07/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 348  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 08/07/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 349  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 09/07/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 350  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 10/07/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 351  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 13/07/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 352  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 14/07/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 353  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 15/07/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 354  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 16/07/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 355  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 17/07/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 356  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 20/07/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 357  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 21/07/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 358  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 22/07/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 359  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 23/07/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 360  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 24/07/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 361  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 27/07/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 362  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 28/07/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 363  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 29/07/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 364  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 30/07/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 365  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 31/07/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 366  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 03/08/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 367  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 04/08/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 368  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 05/08/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 369  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 06/08/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 370  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 07/08/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 371  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 10/08/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 372  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 11/08/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 373  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 12/08/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 374  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 13/08/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 375  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 14/08/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 376  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 17/08/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 377  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 18/08/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 378  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 19/08/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 379  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 20/08/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 380  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 21/08/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 381  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 24/08/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 382  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 25/08/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 383  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 26/08/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 384  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 27/08/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 385  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 28/08/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 386  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 31/08/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 387  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 01/09/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 388  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 02/09/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 389  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 03/09/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 390  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 04/09/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 391  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 07/09/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 392  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 08/09/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 393  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 09/09/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 394  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 10/09/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 395  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 11/09/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 396  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 14/09/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 397  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 15/09/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 398  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 16/09/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 399  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 17/09/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 400  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 18/09/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 401  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 21/09/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 402  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 22/09/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 403  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 23/09/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 404  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 24/09/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 405  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 25/09/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 406  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 28/09/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 407  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 29/09/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 408  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 30/09/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 409  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 01/10/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 410  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 02/10/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 411  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 05/10/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 412  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 06/10/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 413  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 07/10/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 414  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 08/10/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 415  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 09/10/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 416  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 12/10/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 417  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 13/10/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 418  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 14/10/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 419  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 15/10/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 420  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 16/10/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 421  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 19/10/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 422  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 20/10/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 423  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 21/10/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 424  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 22/10/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 425  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 23/10/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 426  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 26/10/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 427  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 27/10/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 428  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 28/10/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 429  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 29/10/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 430  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 30/10/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 431  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 02/11/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 432  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 03/11/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 433  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 04/11/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 434  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 05/11/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 435  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 06/11/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 436  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 09/11/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 437  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 10/11/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 438  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 11/11/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 439  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 12/11/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 440  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 13/11/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 441  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 16/11/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 442  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 17/11/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 443  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 18/11/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 444  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 19/11/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 445  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 20/11/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 446  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 23/11/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 447  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 24/11/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 448  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 25/11/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 449  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 26/11/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 450  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 27/11/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 451  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 30/11/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 452  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 01/12/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 453  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 02/12/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 454  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 03/12/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 455  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 04/12/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 456  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 07/12/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 457  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 08/12/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 458  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 09/12/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 459  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 10/12/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 460  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 11/12/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 461  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 14/12/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 462  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 15/12/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 463  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 16/12/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 464  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 17/12/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 465  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 18/12/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 466  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 21/12/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 467  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 22/12/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 468  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 23/12/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 469  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 24/12/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 470  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 25/12/26 Friday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 471  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 28/12/26 Monday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 472  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 29/12/26 Tuesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 473  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 30/12/26 Wednesday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 474  
[2026-02-05 01:11:47] local.INFO: createClass helper called. Date: 31/12/26 Thursday, Time: 12:30, Spots: 20  
[2026-02-05 01:11:47] local.INFO: Class created in DB with ID: 475  
[2026-02-05 01:11:49] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:11:49] local.INFO: Tab value: warmup  
[2026-02-05 01:11:50] local.INFO: Tab value: strength  
[2026-02-05 01:11:50] local.INFO: Tab value: conditioning  
[2026-02-05 01:11:50] local.INFO: Tab value: weightlifting  
[2026-02-05 01:11:50] local.INFO: Tab value: test  
[2026-02-05 01:11:50] local.INFO: Tab value: test  
[2026-02-05 01:11:50] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-05 01:11:50] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:11:54] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:11:55] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:11:55] local.INFO: Received date: 05/02/26 Thursday  
[2026-02-05 01:11:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":106,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"05/02/26 Thursday","created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","workoutname":"050226","is_assigned":0,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":297,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","weight":"85"},{"id":298,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"},{"id":299,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-05 01:11:55] local.INFO: Strength records fetched: 1  
[2026-02-05 01:11:55] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":106,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"050226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"05/02/26 Thursday","sets":[{"id":297,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","weight":"85"},{"id":298,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"},{"id":299,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-05 01:11:58] local.INFO: assignWorkoutToClass:  {"_token":"zkQqhvEn4EiBx0J6cGOSd4LPufeNYMysXq1C6w8s","workout_id":"106","class_id":"240","type":"strength","action":"assign","date":"05/02/26 Thursday"} 
[2026-02-05 01:11:59] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:11:59] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:11:59] local.INFO: Received date: 05/02/26 Thursday  
[2026-02-05 01:11:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":106,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"05/02/26 Thursday","created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:58.000000Z","workoutname":"050226","is_assigned":1,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":297,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","weight":"85"},{"id":298,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"},{"id":299,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-05 01:11:59] local.INFO: Strength records fetched: 1  
[2026-02-05 01:11:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":106,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"050226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[240],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"05/02/26 Thursday","sets":[{"id":297,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","weight":"85"},{"id":298,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"},{"id":299,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-05 01:12:05] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:14:01] local.INFO: Received request data: {"_token":"zkQqhvEn4EiBx0J6cGOSd4LPufeNYMysXq1C6w8s","selectdates":"05/02/26 Thursday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"050226","categorys_1":"1","workouts_1":"35","weigths_1":"80","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"10","setweight_1":"80","sets_12":"2","reps_12":"10","setweight_12":"80","sets_13":"3","reps_13":"10","setweight_13":"80","sets_14":"4","reps_14":"10","setweight_14":"80","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-02-05 01:14:01] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"050226","categorys_1":"1","workouts_1":"35","weigths_1":"80","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"10","setweight_1":"80","sets_12":"2","reps_12":"10","setweight_12":"80","sets_13":"3","reps_13":"10","setweight_13":"80","sets_14":"4","reps_14":"10","setweight_14":"80","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-02-05 01:14:01] local.INFO: Created Strength ID {"id":107} 
[2026-02-05 01:14:01] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"10","weight":"80","alt_set":null,"alt_reps":null,"strength_id":107} 
[2026-02-05 01:14:01] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"10","weight":"80","alt_set":null,"alt_reps":null,"strength_id":107} 
[2026-02-05 01:14:01] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"10","weight":"80","alt_set":null,"alt_reps":null,"strength_id":107} 
[2026-02-05 01:14:01] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"10","weight":"80","alt_set":null,"alt_reps":null,"strength_id":107} 
[2026-02-05 01:14:03] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:14:03] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:14:04] local.INFO: Received date: 05/02/26 Thursday  
[2026-02-05 01:14:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":106,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"05/02/26 Thursday","created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:58.000000Z","workoutname":"050226","is_assigned":1,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":297,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","weight":"85"},{"id":298,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"},{"id":299,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":107,"category_id":1,"workout_id":35,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"05/02/26 Thursday","created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","workoutname":"050226","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},"setstrengthsetsreps":[{"id":300,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":301,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":302,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":303,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-05 01:14:04] local.INFO: Strength records fetched: 2  
[2026-02-05 01:14:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":106,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"050226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[240],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"05/02/26 Thursday","sets":[{"id":297,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","weight":"85"},{"id":298,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"},{"id":299,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"}]},{"id":107,"category_id":1,"category_name":"Horizontal pull","workout_id":35,"workout_type":"Ring row","workoutname":"050226","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"05/02/26 Thursday","sets":[{"id":300,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":301,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":302,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":303,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-05 01:14:06] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:14:06] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:14:12] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:14:13] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:14:13] local.INFO: Received date: 05/02/26 Thursday  
[2026-02-05 01:14:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":106,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"05/02/26 Thursday","created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:58.000000Z","workoutname":"050226","is_assigned":1,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":297,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","weight":"85"},{"id":298,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"},{"id":299,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":107,"category_id":1,"workout_id":35,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"05/02/26 Thursday","created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","workoutname":"050226","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},"setstrengthsetsreps":[{"id":300,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":301,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":302,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":303,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-05 01:14:13] local.INFO: Strength records fetched: 2  
[2026-02-05 01:14:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":106,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"050226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[240],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"05/02/26 Thursday","sets":[{"id":297,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","weight":"85"},{"id":298,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"},{"id":299,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"}]},{"id":107,"category_id":1,"category_name":"Horizontal pull","workout_id":35,"workout_type":"Ring row","workoutname":"050226","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"05/02/26 Thursday","sets":[{"id":300,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":301,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":302,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":303,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-05 01:17:08] local.INFO: assignWorkoutToClass:  {"_token":"zkQqhvEn4EiBx0J6cGOSd4LPufeNYMysXq1C6w8s","workout_id":"107","class_id":"240","type":"strength","action":"assign","date":"05/02/26 Thursday"} 
[2026-02-05 01:17:08] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:17:08] local.INFO: Day received: {"day":"05/02/26 Thursday"} 
[2026-02-05 01:17:09] local.INFO: Received date: 05/02/26 Thursday  
[2026-02-05 01:17:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":106,"category_id":5,"workout_id":71,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"05/02/26 Thursday","created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:58.000000Z","workoutname":"050226","is_assigned":1,"unit":"%","category":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},"setstrengthsetsreps":[{"id":297,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","weight":"85"},{"id":298,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"},{"id":299,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":107,"category_id":1,"workout_id":35,"weight":80.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"05/02/26 Thursday","created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:17:08.000000Z","workoutname":"050226","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},"setstrengthsetsreps":[{"id":300,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":301,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":302,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":303,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-05 01:17:09] local.INFO: Strength records fetched: 2  
[2026-02-05 01:17:09] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":106,"category_id":5,"category_name":"Hinge","workout_id":71,"workout_type":"Deadlift","workoutname":"050226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[240],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"05/02/26 Thursday","sets":[{"id":297,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:17.000000Z","updated_at":"2026-02-05T01:11:17.000000Z","weight":"85"},{"id":298,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"},{"id":299,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":106,"created_at":"2026-02-05T01:11:18.000000Z","updated_at":"2026-02-05T01:11:18.000000Z","weight":"85"}]},{"id":107,"category_id":1,"category_name":"Horizontal pull","workout_id":35,"workout_type":"Ring row","workoutname":"050226","weight":80.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[240],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"05/02/26 Thursday","sets":[{"id":300,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":301,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":302,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"},{"id":303,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":107,"created_at":"2026-02-05T01:14:01.000000Z","updated_at":"2026-02-05T01:14:01.000000Z","weight":"80"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-06 10:32:36] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:37] local.INFO: Tab value: warmup  
[2026-02-06 10:32:37] local.INFO: Tab value: strength  
[2026-02-06 10:32:37] local.INFO: Tab value: weightlifting  
[2026-02-06 10:32:37] local.INFO: Tab value: conditioning  
[2026-02-06 10:32:37] local.INFO: Tab value: test  
[2026-02-06 10:32:37] local.INFO: Tab value: test  
[2026-02-06 10:32:37] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-06 10:32:37] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:40] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:40] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:40] local.INFO: Received date: 06/02/26 Friday  
[2026-02-06 10:32:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-06 10:32:40] local.INFO: Strength records fetched: 0  
[2026-02-06 10:32:40] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-06 10:32:49] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:49] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:50] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:50] local.INFO: return Weightlifting Request Data:   
[2026-02-06 10:32:50] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:50] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:50] local.INFO: Received date: 06/02/26 Friday  
[2026-02-06 10:32:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-06 10:32:50] local.INFO: Strength records fetched: 0  
[2026-02-06 10:32:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-06 10:32:50] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:51] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:51] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:51] local.INFO: Received date: 06/02/26 Friday  
[2026-02-06 10:32:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-06 10:32:51] local.INFO: Strength records fetched: 0  
[2026-02-06 10:32:51] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-06 10:32:51] local.INFO: return Weightlifting Request Data:   
[2026-02-06 10:32:51] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:52] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:52] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:53] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:53] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:53] local.INFO: Received date: 06/02/26 Friday  
[2026-02-06 10:32:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-06 10:32:53] local.INFO: Strength records fetched: 0  
[2026-02-06 10:32:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-06 10:32:53] local.INFO: Day received: {"day":"06/02/26 Friday"} 
[2026-02-06 10:32:53] local.INFO: return Weightlifting Request Data:   
[2026-02-09 03:41:45] local.INFO: Strength progress start {"user_id":2,"workout_id":17,"member_id":2,"workout_type":"strength"} 
[2026-02-09 03:41:45] local.INFO: Strength records fetched {"strengths_count":22,"strength_ids":{"Illuminate\\Support\\Collection":[1,5,28,40,41,42,43,44,45,46,47,48,49,50,51,57,74,76,77,78]}} 
[2026-02-09 03:41:45] local.INFO: DailyStrength fetched {"daily_strength_count":2,"first_row":{"App\\Models\\DailyStrength":{"id":4,"member_id":2,"strength_id":28,"type":"Primary","reps":6,"weight":"21","date":"12/07/25 Saturday","created_at":"2025-07-12T11:23:06.000000Z","updated_at":"2025-07-12T11:23:06.000000Z","set_number":null}}} 
[2026-02-09 04:17:44] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:17:45] local.INFO: Tab value: warmup  
[2026-02-09 04:17:45] local.INFO: Tab value: conditioning  
[2026-02-09 04:17:45] local.INFO: Tab value: strength  
[2026-02-09 04:17:45] local.INFO: Tab value: weightlifting  
[2026-02-09 04:17:45] local.INFO: Tab value: test  
[2026-02-09 04:17:45] local.INFO: Tab value: test  
[2026-02-09 04:17:45] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-09 04:17:45] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:17:49] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-09 04:17:52] local.INFO: Day received: {"day":"12/02/26 Thursday"} 
[2026-02-09 04:17:52] local.INFO: Day received: {"day":"13/02/26 Friday"} 
[2026-02-09 04:17:53] local.INFO: Day received: {"day":"14/02/26 Saturday"} 
[2026-02-09 04:17:54] local.INFO: Day received: {"day":"15/02/26 Sunday"} 
[2026-02-09 04:17:55] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:17:56] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:17:56] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:17:56] local.INFO: Received date: 09/02/26 Monday  
[2026-02-09 04:17:56] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-09 04:17:56] local.INFO: Strength records fetched: 0  
[2026-02-09 04:17:56] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 04:17:59] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:17:59] local.INFO: return Weightlifting Request Data:   
[2026-02-09 04:18:01] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:18:01] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:18:03] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:18:03] local.INFO: return Weightlifting Request Data:   
[2026-02-09 04:18:04] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:18:04] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:18:04] local.INFO: Received date: 09/02/26 Monday  
[2026-02-09 04:18:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-09 04:18:04] local.INFO: Strength records fetched: 0  
[2026-02-09 04:18:04] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 04:18:05] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:18:06] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-09 04:18:07] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-09 04:18:08] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-09 04:18:08] local.INFO: Received date: 10/02/26 Tuesday  
[2026-02-09 04:18:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-09 04:18:08] local.INFO: Strength records fetched: 0  
[2026-02-09 04:18:08] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 04:18:10] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:18:11] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:18:11] local.INFO: Received date: 09/02/26 Monday  
[2026-02-09 04:18:11] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-09 04:18:11] local.INFO: Strength records fetched: 0  
[2026-02-09 04:18:11] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 04:18:11] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-09 04:18:11] local.INFO: Day received: {"day":"11/02/26 Wednesday"} 
[2026-02-09 04:18:11] local.INFO: Received date: 10/02/26 Tuesday  
[2026-02-09 04:18:11] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-09 04:18:11] local.INFO: Strength records fetched: 0  
[2026-02-09 04:18:11] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-09 04:18:11] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 04:18:12] local.INFO: Day received: {"day":"11/02/26 Wednesday"} 
[2026-02-09 04:18:12] local.INFO: Received date: 11/02/26 Wednesday  
[2026-02-09 04:18:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-09 04:18:12] local.INFO: Strength records fetched: 0  
[2026-02-09 04:18:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 04:18:12] local.INFO: Day received: {"day":"12/02/26 Thursday"} 
[2026-02-09 04:18:12] local.INFO: Day received: {"day":"12/02/26 Thursday"} 
[2026-02-09 04:18:12] local.INFO: Received date: 12/02/26 Thursday  
[2026-02-09 04:18:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-09 04:18:12] local.INFO: Strength records fetched: 0  
[2026-02-09 04:18:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 04:18:13] local.INFO: Day received: {"day":"13/02/26 Friday"} 
[2026-02-09 04:18:13] local.INFO: Received date: 13/02/26 Friday  
[2026-02-09 04:18:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-09 04:18:13] local.INFO: Strength records fetched: 0  
[2026-02-09 04:18:13] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 04:18:13] local.INFO: Day received: {"day":"13/02/26 Friday"} 
[2026-02-09 04:18:13] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:18:14] local.INFO: Received date: 09/02/26 Monday  
[2026-02-09 04:18:14] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:18:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-09 04:18:14] local.INFO: Strength records fetched: 0  
[2026-02-09 04:18:14] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 04:18:29] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:29] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:29] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 04:18:31] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:31] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:31] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 04:18:31] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:31] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:31] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 04:18:32] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:32] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:32] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 04:18:32] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:32] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:32] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 04:18:33] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:33] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:33] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 04:18:34] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:34] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:34] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 04:18:50] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:50] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:50] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 04:18:50] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:50] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:50] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 04:18:51] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:51] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:51] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 04:18:51] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:51] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:51] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 04:18:51] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:51] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 04:18:51] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 04:51:33] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:51:33] local.INFO: Tab value: warmup  
[2026-02-09 04:51:33] local.INFO: Tab value: strength  
[2026-02-09 04:51:33] local.INFO: Tab value: conditioning  
[2026-02-09 04:51:33] local.INFO: Tab value: weightlifting  
[2026-02-09 04:51:33] local.INFO: Tab value: test  
[2026-02-09 04:51:33] local.INFO: Tab value: test  
[2026-02-09 04:51:33] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 04:51:33] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-09 10:11:56] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:11:56] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:11:56] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 10:11:58] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:11:58] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:11:58] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 10:11:58] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:11:58] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:11:58] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 10:11:59] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:11:59] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:11:59] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 10:12:32] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 10:12:32] local.INFO: Tab value: warmup  
[2026-02-09 10:12:32] local.INFO: Tab value: strength  
[2026-02-09 10:12:33] local.INFO: Tab value: conditioning  
[2026-02-09 10:12:33] local.INFO: Tab value: weightlifting  
[2026-02-09 10:12:33] local.INFO: Tab value: test  
[2026-02-09 10:12:33] local.INFO: Tab value: test  
[2026-02-09 10:12:33] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-09 10:12:33] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 10:12:34] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:12:34] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:12:34] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 10:12:35] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:12:35] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:12:35] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 10:12:35] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:12:35] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:12:35] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 10:12:35] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:12:35] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:12:35] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":[]} 
[2026-02-09 10:12:37] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 10:12:37] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 10:12:37] local.INFO: Received date: 09/02/26 Monday  
[2026-02-09 10:12:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-09 10:12:37] local.INFO: Strength records fetched: 0  
[2026-02-09 10:12:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 10:13:34] local.INFO: Received request data: {"_token":"tD9ElGuksWSzvvBCE3T1Nd8TJZd0giRWb0lRJ5Pj","selectdates":"09/02/26 Monday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"test","categorys_1":"6","workouts_1":"81","weigths_1":"10","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"2","setweight_1":"10","sets_12":"2","reps_12":"2","setweight_12":"10","restreds_1":"00:00:45","restyellows_1":"00:01:45","restgreens_1":"00:02:00","intensitys_1":"low"} 
[2026-02-09 10:13:34] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"test","categorys_1":"6","workouts_1":"81","weigths_1":"10","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"2","setweight_1":"10","sets_12":"2","reps_12":"2","setweight_12":"10","restreds_1":"00:00:45","restyellows_1":"00:01:45","restgreens_1":"00:02:00","intensitys_1":"low"} 
[2026-02-09 10:13:34] local.INFO: Created Strength ID {"id":108} 
[2026-02-09 10:13:34] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"2","weight":"10","alt_set":null,"alt_reps":null,"strength_id":108} 
[2026-02-09 10:13:34] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"2","weight":"10","alt_set":null,"alt_reps":null,"strength_id":108} 
[2026-02-09 10:13:36] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 10:13:36] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 10:13:37] local.INFO: Received date: 09/02/26 Monday  
[2026-02-09 10:13:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":108,"category_id":6,"workout_id":81,"weight":10.0,"restred":"00:00:45","restyellow":"00:01:45","restgreen":"00:02:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"09/02/26 Monday","created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","workoutname":"test","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":304,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":108,"created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","weight":"10"},{"id":305,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":108,"created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","weight":"10"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-09 10:13:37] local.INFO: Strength records fetched: 1  
[2026-02-09 10:13:37] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":108,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"test","weight":10.0,"unit":"%","restred":"00:00:45","restyellow":"00:01:45","restgreen":"00:02:00","intensity":"low","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"09/02/26 Monday","sets":[{"id":304,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":108,"created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","weight":"10"},{"id":305,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":108,"created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","weight":"10"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 10:13:42] local.INFO: assignWorkoutToClass:  {"_token":"tD9ElGuksWSzvvBCE3T1Nd8TJZd0giRWb0lRJ5Pj","workout_id":"108","class_id":"97","type":"strength","action":"assign","date":"09/02/26 Monday"} 
[2026-02-09 10:13:43] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 10:13:43] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 10:13:43] local.INFO: Received date: 09/02/26 Monday  
[2026-02-09 10:13:43] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":108,"category_id":6,"workout_id":81,"weight":10.0,"restred":"00:00:45","restyellow":"00:01:45","restgreen":"00:02:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"09/02/26 Monday","created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:42.000000Z","workoutname":"test","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":304,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":108,"created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","weight":"10"},{"id":305,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":108,"created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","weight":"10"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-09 10:13:43] local.INFO: Strength records fetched: 1  
[2026-02-09 10:13:43] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":108,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"test","weight":10.0,"unit":"%","restred":"00:00:45","restyellow":"00:01:45","restgreen":"00:02:00","intensity":"low","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[97],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"09/02/26 Monday","sets":[{"id":304,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":108,"created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","weight":"10"},{"id":305,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":108,"created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","weight":"10"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 10:13:51] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:13:51] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:13:51] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:13:53] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:13:53] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:13:53] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:13:54] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:13:54] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:13:54] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:15:41] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 10:15:41] local.INFO: Tab value: warmup  
[2026-02-09 10:15:41] local.INFO: Tab value: strength  
[2026-02-09 10:15:41] local.INFO: Tab value: conditioning  
[2026-02-09 10:15:41] local.INFO: Tab value: weightlifting  
[2026-02-09 10:15:41] local.INFO: Tab value: test  
[2026-02-09 10:15:41] local.INFO: Tab value: test  
[2026-02-09 10:15:41] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-09 10:15:42] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 10:15:42] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 10:15:42] local.INFO: Received date: 09/02/26 Monday  
[2026-02-09 10:15:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":108,"category_id":6,"workout_id":81,"weight":10.0,"restred":"00:00:45","restyellow":"00:01:45","restgreen":"00:02:00","intensity":"low","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"09/02/26 Monday","created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:42.000000Z","workoutname":"test","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},"setstrengthsetsreps":[{"id":304,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":108,"created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","weight":"10"},{"id":305,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":108,"created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","weight":"10"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-09 10:15:42] local.INFO: Strength records fetched: 1  
[2026-02-09 10:15:42] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":108,"category_id":6,"category_name":"Carry/Oly","workout_id":81,"workout_type":"Farmers carry","workoutname":"test","weight":10.0,"unit":"%","restred":"00:00:45","restyellow":"00:01:45","restgreen":"00:02:00","intensity":"low","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[97],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"09/02/26 Monday","sets":[{"id":304,"sets":1,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":108,"created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","weight":"10"},{"id":305,"sets":2,"reps":2,"alt_sets":null,"alt_reps":null,"strength_id":108,"created_at":"2026-02-09T10:13:34.000000Z","updated_at":"2026-02-09T10:13:34.000000Z","weight":"10"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-09 10:15:42] local.INFO: Day received: {"day":"09/02/26 Monday"} 
[2026-02-09 10:17:07] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:07] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:07] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:17:08] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:08] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:08] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:17:21] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:21] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:21] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:17:22] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:22] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:22] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:17:26] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:26] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:26] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:17:27] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:27] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:27] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:17:34] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:34] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:34] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:17:35] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:35] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:35] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:17:44] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:44] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:44] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:17:50] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:50] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:50] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:17:51] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:51] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:51] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:17:52] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:52] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:52] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:17:52] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:52] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:17:52] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:18:00] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:00] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:00] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:18:00] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:00] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:00] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:18:01] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:01] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:01] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:18:01] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:01] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:01] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:18:02] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:02] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:02] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:18:08] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:08] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:08] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:18:19] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:19] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:19] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:18:20] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:20] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:20] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:18:20] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:20] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:20] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:18:24] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:24] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:18:24] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:20:36] local.INFO: Day received (raw): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:20:36] local.INFO: Day received (sanitized): {"day":"Monday 09/02/2026"} 
[2026-02-09 10:20:36] local.INFO: Assigned workouts {"class_id":97,"search_patterns":["%09/02/26%","%09/02/2026%","%09/02/26 Monday%","%09/02/2026 Monday%","%Monday 09/02/26%","%Monday 09/02/2026%"],"assigned_count":{"strength":1}} 
[2026-02-09 10:58:45] local.INFO: Tab value: warmup  
[2026-02-09 10:58:46] local.INFO: Tab value: strength  
[2026-02-09 10:58:46] local.INFO: Tab value: conditioning  
[2026-02-09 10:58:46] local.INFO: Tab value: weightlifting  
[2026-02-09 10:58:46] local.INFO: Tab value: test  
[2026-02-09 10:58:46] local.INFO: Tab value: test  
[2026-02-09 10:58:46] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-10 01:01:28] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:01:28] local.INFO: Tab value: warmup  
[2026-02-10 01:01:28] local.INFO: Tab value: strength  
[2026-02-10 01:01:29] local.INFO: Tab value: conditioning  
[2026-02-10 01:01:29] local.INFO: Tab value: test  
[2026-02-10 01:01:29] local.INFO: Tab value: weightlifting  
[2026-02-10 01:01:29] local.INFO: Tab value: test  
[2026-02-10 01:01:29] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-10 01:01:29] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:01:34] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:01:35] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:01:35] local.INFO: Received date: 10/02/26 Tuesday  
[2026-02-10 01:01:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-10 01:01:35] local.INFO: Strength records fetched: 0  
[2026-02-10 01:01:35] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-10 01:02:26] local.INFO: Received request data: {"_token":"7Lo5m2CorUznphbNBbu6gVIVLCP7vYbGp2ntG9eN","selectdates":"10/02/26 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"100226","categorys_1":"4","workouts_1":"17","weigths_1":"85","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"4","setweight_1":"85","sets_12":"2","reps_12":"4","setweight_12":"85","sets_13":"3","reps_13":"4","setweight_13":"85","sets_14":"4","reps_14":"4","setweight_14":"85","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-10 01:02:26] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"100226","categorys_1":"4","workouts_1":"17","weigths_1":"85","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"4","setweight_1":"85","sets_12":"2","reps_12":"4","setweight_12":"85","sets_13":"3","reps_13":"4","setweight_13":"85","sets_14":"4","reps_14":"4","setweight_14":"85","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-10 01:02:26] local.INFO: Created Strength ID {"id":109} 
[2026-02-10 01:02:26] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","weight":"85","alt_set":null,"alt_reps":null,"strength_id":109} 
[2026-02-10 01:02:26] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","weight":"85","alt_set":null,"alt_reps":null,"strength_id":109} 
[2026-02-10 01:02:26] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","weight":"85","alt_set":null,"alt_reps":null,"strength_id":109} 
[2026-02-10 01:02:26] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"4","weight":"85","alt_set":null,"alt_reps":null,"strength_id":109} 
[2026-02-10 01:02:28] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:02:28] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:02:28] local.INFO: Received date: 10/02/26 Tuesday  
[2026-02-10 01:02:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":109,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-10 01:02:28] local.INFO: Strength records fetched: 1  
[2026-02-10 01:02:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":109,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"100226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-10 01:06:18] local.INFO: Received request data: {"_token":"7Lo5m2CorUznphbNBbu6gVIVLCP7vYbGp2ntG9eN","selectdates":"10/02/26 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"100226","categorys_1":"1","workouts_1":"32","weigths_1":"50","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"10","setweight_1":"50","sets_12":"2","reps_12":"10","setweight_12":"50","sets_13":"3","reps_13":"10","setweight_13":"50","sets_14":"4","reps_14":"10","setweight_14":"50","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-02-10 01:06:18] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"100226","categorys_1":"1","workouts_1":"32","weigths_1":"50","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"10","setweight_1":"50","sets_12":"2","reps_12":"10","setweight_12":"50","sets_13":"3","reps_13":"10","setweight_13":"50","sets_14":"4","reps_14":"10","setweight_14":"50","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"medium"} 
[2026-02-10 01:06:18] local.INFO: Created Strength ID {"id":110} 
[2026-02-10 01:06:18] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"10","weight":"50","alt_set":null,"alt_reps":null,"strength_id":110} 
[2026-02-10 01:06:18] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"10","weight":"50","alt_set":null,"alt_reps":null,"strength_id":110} 
[2026-02-10 01:06:18] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"10","weight":"50","alt_set":null,"alt_reps":null,"strength_id":110} 
[2026-02-10 01:06:18] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"10","weight":"50","alt_set":null,"alt_reps":null,"strength_id":110} 
[2026-02-10 01:06:20] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:06:21] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:06:21] local.INFO: Received date: 10/02/26 Tuesday  
[2026-02-10 01:06:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":109,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":110,"category_id":1,"workout_id":32,"weight":50.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},"setstrengthsetsreps":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-10 01:06:21] local.INFO: Strength records fetched: 2  
[2026-02-10 01:06:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":109,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"100226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}]},{"id":110,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"100226","weight":50.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-10 01:09:27] local.INFO: Received request data: {"_token":"7Lo5m2CorUznphbNBbu6gVIVLCP7vYbGp2ntG9eN","selectdates":"10/02/26 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"100226","categorys_1":"4","workouts_1":"64","weigths_1":"15","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"5","setweight_1":"15","sets_12":"2","reps_12":"5","setweight_12":"15","sets_13":"3","reps_13":"5","setweight_13":"15","sets_14":"4","reps_14":"5","setweight_14":"15","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"medium"} 
[2026-02-10 01:09:27] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"100226","categorys_1":"4","workouts_1":"64","weigths_1":"15","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"5","setweight_1":"15","sets_12":"2","reps_12":"5","setweight_12":"15","sets_13":"3","reps_13":"5","setweight_13":"15","sets_14":"4","reps_14":"5","setweight_14":"15","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00","intensitys_1":"medium"} 
[2026-02-10 01:09:27] local.INFO: Created Strength ID {"id":111} 
[2026-02-10 01:09:27] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"5","weight":"15","alt_set":null,"alt_reps":null,"strength_id":111} 
[2026-02-10 01:09:27] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"5","weight":"15","alt_set":null,"alt_reps":null,"strength_id":111} 
[2026-02-10 01:09:27] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","weight":"15","alt_set":null,"alt_reps":null,"strength_id":111} 
[2026-02-10 01:09:27] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","weight":"15","alt_set":null,"alt_reps":null,"strength_id":111} 
[2026-02-10 01:09:29] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:09:29] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:09:29] local.INFO: Received date: 10/02/26 Tuesday  
[2026-02-10 01:09:29] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":109,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":110,"category_id":1,"workout_id":32,"weight":50.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},"setstrengthsetsreps":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}],"alt_category":null,"alt_workout":null},{"id":111,"category_id":4,"workout_id":64,"weight":15.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":314,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":315,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":316,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":317,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-10 01:09:29] local.INFO: Strength records fetched: 3  
[2026-02-10 01:09:29] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":109,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"100226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}]},{"id":110,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"100226","weight":50.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}]},{"id":111,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"100226","weight":15.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":314,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":315,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":316,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":317,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-10 01:10:14] local.INFO: Received request data: {"_token":"7Lo5m2CorUznphbNBbu6gVIVLCP7vYbGp2ntG9eN","selectdates":"10/02/26 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"100226","categorys_1":"3","workouts_1":"16","weigths_1":"100","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"7","setweight_1":"100","sets_12":"2","reps_12":"6","setweight_12":"100","sets_13":"3","reps_13":"5","setweight_13":"100","sets_14":"4","reps_14":"5","setweight_14":"100","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-02-10 01:10:14] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"100226","categorys_1":"3","workouts_1":"16","weigths_1":"100","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"7","setweight_1":"100","sets_12":"2","reps_12":"6","setweight_12":"100","sets_13":"3","reps_13":"5","setweight_13":"100","sets_14":"4","reps_14":"5","setweight_14":"100","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-02-10 01:10:14] local.INFO: Created Strength ID {"id":112} 
[2026-02-10 01:10:14] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"7","weight":"100","alt_set":null,"alt_reps":null,"strength_id":112} 
[2026-02-10 01:10:14] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"6","weight":"100","alt_set":null,"alt_reps":null,"strength_id":112} 
[2026-02-10 01:10:14] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"5","weight":"100","alt_set":null,"alt_reps":null,"strength_id":112} 
[2026-02-10 01:10:14] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"5","weight":"100","alt_set":null,"alt_reps":null,"strength_id":112} 
[2026-02-10 01:10:15] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:10:16] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:10:16] local.INFO: Received date: 10/02/26 Tuesday  
[2026-02-10 01:10:16] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":109,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":110,"category_id":1,"workout_id":32,"weight":50.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},"setstrengthsetsreps":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}],"alt_category":null,"alt_workout":null},{"id":111,"category_id":4,"workout_id":64,"weight":15.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":314,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":315,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":316,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":317,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"}],"alt_category":null,"alt_workout":null},{"id":112,"category_id":3,"workout_id":16,"weight":100.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},"setstrengthsetsreps":[{"id":318,"sets":1,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":319,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":320,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":321,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-10 01:10:16] local.INFO: Strength records fetched: 4  
[2026-02-10 01:10:16] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":109,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"100226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}]},{"id":110,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"100226","weight":50.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}]},{"id":111,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"100226","weight":15.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":314,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":315,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":316,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":317,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"}]},{"id":112,"category_id":3,"category_name":"Vertical pull","workout_id":16,"workout_type":"Pull up","workoutname":"100226","weight":100.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":318,"sets":1,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":319,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":320,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":321,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-10 01:10:21] local.INFO: assignWorkoutToClass:  {"_token":"7Lo5m2CorUznphbNBbu6gVIVLCP7vYbGp2ntG9eN","workout_id":"109","class_id":"243","type":"strength","action":"assign","date":"10/02/26 Tuesday"} 
[2026-02-10 01:10:21] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:10:21] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:10:21] local.INFO: Received date: 10/02/26 Tuesday  
[2026-02-10 01:10:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":109,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:10:21.000000Z","workoutname":"100226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":110,"category_id":1,"workout_id":32,"weight":50.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},"setstrengthsetsreps":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}],"alt_category":null,"alt_workout":null},{"id":111,"category_id":4,"workout_id":64,"weight":15.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":314,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":315,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":316,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":317,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"}],"alt_category":null,"alt_workout":null},{"id":112,"category_id":3,"workout_id":16,"weight":100.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},"setstrengthsetsreps":[{"id":318,"sets":1,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":319,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":320,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":321,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-10 01:10:21] local.INFO: Strength records fetched: 4  
[2026-02-10 01:10:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":109,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"100226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[243],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}]},{"id":110,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"100226","weight":50.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}]},{"id":111,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"100226","weight":15.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":314,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":315,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":316,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":317,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"}]},{"id":112,"category_id":3,"category_name":"Vertical pull","workout_id":16,"workout_type":"Pull up","workoutname":"100226","weight":100.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":318,"sets":1,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":319,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":320,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":321,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-10 01:10:24] local.INFO: assignWorkoutToClass:  {"_token":"7Lo5m2CorUznphbNBbu6gVIVLCP7vYbGp2ntG9eN","workout_id":"110","class_id":"243","type":"strength","action":"assign","date":"10/02/26 Tuesday"} 
[2026-02-10 01:10:25] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:10:25] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:10:25] local.INFO: Received date: 10/02/26 Tuesday  
[2026-02-10 01:10:25] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":109,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:10:21.000000Z","workoutname":"100226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":110,"category_id":1,"workout_id":32,"weight":50.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:10:25.000000Z","workoutname":"100226","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},"setstrengthsetsreps":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}],"alt_category":null,"alt_workout":null},{"id":111,"category_id":4,"workout_id":64,"weight":15.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":314,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":315,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":316,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":317,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"}],"alt_category":null,"alt_workout":null},{"id":112,"category_id":3,"workout_id":16,"weight":100.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},"setstrengthsetsreps":[{"id":318,"sets":1,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":319,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":320,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":321,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-10 01:10:25] local.INFO: Strength records fetched: 4  
[2026-02-10 01:10:25] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":109,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"100226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[243],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}]},{"id":110,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"100226","weight":50.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[243],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}]},{"id":111,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"100226","weight":15.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":314,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":315,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":316,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":317,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"}]},{"id":112,"category_id":3,"category_name":"Vertical pull","workout_id":16,"workout_type":"Pull up","workoutname":"100226","weight":100.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":318,"sets":1,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":319,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":320,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":321,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-10 01:10:28] local.INFO: assignWorkoutToClass:  {"_token":"7Lo5m2CorUznphbNBbu6gVIVLCP7vYbGp2ntG9eN","workout_id":"111","class_id":"243","type":"strength","action":"assign","date":"10/02/26 Tuesday"} 
[2026-02-10 01:10:28] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:10:28] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:10:28] local.INFO: Received date: 10/02/26 Tuesday  
[2026-02-10 01:10:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":109,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:10:21.000000Z","workoutname":"100226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":110,"category_id":1,"workout_id":32,"weight":50.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:10:25.000000Z","workoutname":"100226","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},"setstrengthsetsreps":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}],"alt_category":null,"alt_workout":null},{"id":111,"category_id":4,"workout_id":64,"weight":15.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:10:28.000000Z","workoutname":"100226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":314,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":315,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":316,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":317,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"}],"alt_category":null,"alt_workout":null},{"id":112,"category_id":3,"workout_id":16,"weight":100.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","workoutname":"100226","is_assigned":0,"unit":"%","category":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},"setstrengthsetsreps":[{"id":318,"sets":1,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":319,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":320,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":321,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-10 01:10:28] local.INFO: Strength records fetched: 4  
[2026-02-10 01:10:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":109,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"100226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[243],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}]},{"id":110,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"100226","weight":50.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[243],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}]},{"id":111,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"100226","weight":15.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[243],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":314,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":315,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":316,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":317,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"}]},{"id":112,"category_id":3,"category_name":"Vertical pull","workout_id":16,"workout_type":"Pull up","workoutname":"100226","weight":100.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":318,"sets":1,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":319,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":320,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":321,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-10 01:10:31] local.INFO: assignWorkoutToClass:  {"_token":"7Lo5m2CorUznphbNBbu6gVIVLCP7vYbGp2ntG9eN","workout_id":"112","class_id":"243","type":"strength","action":"assign","date":"10/02/26 Tuesday"} 
[2026-02-10 01:10:32] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:10:32] local.INFO: Day received: {"day":"10/02/26 Tuesday"} 
[2026-02-10 01:10:32] local.INFO: Received date: 10/02/26 Tuesday  
[2026-02-10 01:10:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":109,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:10:21.000000Z","workoutname":"100226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":110,"category_id":1,"workout_id":32,"weight":50.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:10:25.000000Z","workoutname":"100226","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},"setstrengthsetsreps":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}],"alt_category":null,"alt_workout":null},{"id":111,"category_id":4,"workout_id":64,"weight":15.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:10:28.000000Z","workoutname":"100226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},"setstrengthsetsreps":[{"id":314,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":315,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":316,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":317,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"}],"alt_category":null,"alt_workout":null},{"id":112,"category_id":3,"workout_id":16,"weight":100.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"10/02/26 Tuesday","created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:31.000000Z","workoutname":"100226","is_assigned":1,"unit":"%","category":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},"setstrengthsetsreps":[{"id":318,"sets":1,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":319,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":320,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":321,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-10 01:10:32] local.INFO: Strength records fetched: 4  
[2026-02-10 01:10:32] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":109,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"100226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[243],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":306,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":307,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":308,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"},{"id":309,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":109,"created_at":"2026-02-10T01:02:26.000000Z","updated_at":"2026-02-10T01:02:26.000000Z","weight":"85"}]},{"id":110,"category_id":1,"category_name":"Horizontal pull","workout_id":32,"workout_type":"Mid row (cable)","workoutname":"100226","weight":50.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[243],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":310,"sets":1,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":311,"sets":2,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":312,"sets":3,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"},{"id":313,"sets":4,"reps":10,"alt_sets":null,"alt_reps":null,"strength_id":110,"created_at":"2026-02-10T01:06:18.000000Z","updated_at":"2026-02-10T01:06:18.000000Z","weight":"50"}]},{"id":111,"category_id":4,"category_name":"Squat","workout_id":64,"workout_type":"Bulgarian split squat","workoutname":"100226","weight":15.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":"medium","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[243],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":314,"sets":1,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":315,"sets":2,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":316,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"},{"id":317,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":111,"created_at":"2026-02-10T01:09:27.000000Z","updated_at":"2026-02-10T01:09:27.000000Z","weight":"15"}]},{"id":112,"category_id":3,"category_name":"Vertical pull","workout_id":16,"workout_type":"Pull up","workoutname":"100226","weight":100.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[243],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"10/02/26 Tuesday","sets":[{"id":318,"sets":1,"reps":7,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":319,"sets":2,"reps":6,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":320,"sets":3,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"},{"id":321,"sets":4,"reps":5,"alt_sets":null,"alt_reps":null,"strength_id":112,"created_at":"2026-02-10T01:10:14.000000Z","updated_at":"2026-02-10T01:10:14.000000Z","weight":"100"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-16 04:47:23] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 04:47:23] local.INFO: Tab value: warmup  
[2026-02-16 04:47:23] local.INFO: Tab value: strength  
[2026-02-16 04:47:24] local.INFO: Tab value: conditioning  
[2026-02-16 04:47:24] local.INFO: Tab value: test  
[2026-02-16 04:47:24] local.INFO: Tab value: weightlifting  
[2026-02-16 04:47:24] local.INFO: Tab value: test  
[2026-02-16 04:47:24] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-16 04:47:24] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 04:47:26] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 04:47:26] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 04:47:26] local.INFO: Received date: 16/02/26 Monday  
[2026-02-16 04:47:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-16 04:47:26] local.INFO: Strength records fetched: 0  
[2026-02-16 04:47:26] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-16 04:47:28] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 04:47:28] local.INFO: return Weightlifting Request Data:   
[2026-02-16 04:47:29] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 04:47:29] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 04:47:29] local.INFO: Received date: 16/02/26 Monday  
[2026-02-16 04:47:29] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-16 04:47:29] local.INFO: Strength records fetched: 0  
[2026-02-16 04:47:29] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-16 04:51:07] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 04:52:40] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 04:52:41] local.INFO: Received date: 16/02/26 Monday  
[2026-02-16 04:52:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-16 04:52:41] local.INFO: Strength records fetched: 0  
[2026-02-16 04:52:41] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-16 04:52:41] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:14:11] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:14:11] local.INFO: Tab value: warmup  
[2026-02-16 10:14:11] local.INFO: Tab value: strength  
[2026-02-16 10:14:11] local.INFO: Tab value: conditioning  
[2026-02-16 10:14:11] local.INFO: Tab value: weightlifting  
[2026-02-16 10:14:11] local.INFO: Tab value: test  
[2026-02-16 10:14:12] local.INFO: Tab value: test  
[2026-02-16 10:14:12] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-16 10:14:12] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:14:21] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:14:21] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:14:27] local.INFO: assignWorkoutToClass:  {"_token":"3HIuG8QvDiwyRAy40mGZa7GHY93ZjKGGjVEm06VZ","workout_id":"25","class_id":"476","type":"conditioning","action":"assign","date":"16/02/26 Monday"} 
[2026-02-16 10:14:28] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:14:28] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:14:32] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:14:32] local.INFO: Tab value: warmup  
[2026-02-16 10:14:32] local.INFO: Tab value: strength  
[2026-02-16 10:14:32] local.INFO: Tab value: conditioning  
[2026-02-16 10:14:32] local.INFO: Tab value: weightlifting  
[2026-02-16 10:14:32] local.INFO: Tab value: test  
[2026-02-16 10:14:32] local.INFO: Tab value: test  
[2026-02-16 10:14:32] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-16 10:14:32] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:14:46] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:14:47] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:25:53] local.INFO: Day received (raw): {"day":"Monday 16/02/2026"} 
[2026-02-16 10:25:53] local.INFO: Day received (sanitized): {"day":"Monday 16/02/2026"} 
[2026-02-16 10:25:53] local.INFO: Assigned workouts {"class_id":100,"search_patterns":["%16/02/26%","%16/02/2026%","%16/02/26 Monday%","%16/02/2026 Monday%","%Monday 16/02/26%","%Monday 16/02/2026%"],"assigned_count":[]} 
[2026-02-16 10:25:55] local.INFO: Day received (raw): {"day":"Monday 16/02/2026"} 
[2026-02-16 10:25:55] local.INFO: Day received (sanitized): {"day":"Monday 16/02/2026"} 
[2026-02-16 10:25:55] local.INFO: Assigned workouts {"class_id":100,"search_patterns":["%16/02/26%","%16/02/2026%","%16/02/26 Monday%","%16/02/2026 Monday%","%Monday 16/02/26%","%Monday 16/02/2026%"],"assigned_count":[]} 
[2026-02-16 10:25:55] local.INFO: Day received (raw): {"day":"Monday 16/02/2026"} 
[2026-02-16 10:25:55] local.INFO: Day received (sanitized): {"day":"Monday 16/02/2026"} 
[2026-02-16 10:25:55] local.INFO: Assigned workouts {"class_id":100,"search_patterns":["%16/02/26%","%16/02/2026%","%16/02/26 Monday%","%16/02/2026 Monday%","%Monday 16/02/26%","%Monday 16/02/2026%"],"assigned_count":[]} 
[2026-02-16 10:25:56] local.INFO: Day received (raw): {"day":"Monday 16/02/2026"} 
[2026-02-16 10:25:56] local.INFO: Day received (sanitized): {"day":"Monday 16/02/2026"} 
[2026-02-16 10:25:56] local.INFO: Assigned workouts {"class_id":100,"search_patterns":["%16/02/26%","%16/02/2026%","%16/02/26 Monday%","%16/02/2026 Monday%","%Monday 16/02/26%","%Monday 16/02/2026%"],"assigned_count":[]} 
[2026-02-16 10:25:56] local.INFO: Day received (raw): {"day":"Monday 16/02/2026"} 
[2026-02-16 10:25:56] local.INFO: Day received (sanitized): {"day":"Monday 16/02/2026"} 
[2026-02-16 10:25:56] local.INFO: Assigned workouts {"class_id":100,"search_patterns":["%16/02/26%","%16/02/2026%","%16/02/26 Monday%","%16/02/2026 Monday%","%Monday 16/02/26%","%Monday 16/02/2026%"],"assigned_count":[]} 
[2026-02-16 10:26:02] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:26:02] local.INFO: Tab value: strength  
[2026-02-16 10:26:02] local.INFO: Tab value: warmup  
[2026-02-16 10:26:02] local.INFO: Tab value: conditioning  
[2026-02-16 10:26:03] local.INFO: Tab value: weightlifting  
[2026-02-16 10:26:03] local.INFO: Tab value: test  
[2026-02-16 10:26:03] local.INFO: Tab value: test  
[2026-02-16 10:26:03] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-16 10:26:03] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:26:05] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:26:06] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:27:37] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-16 10:27:37] local.INFO: Tab value: warmup  
[2026-02-16 10:27:37] local.INFO: Tab value: strength  
[2026-02-16 10:27:37] local.INFO: Tab value: conditioning  
[2026-02-16 10:27:37] local.INFO: Tab value: weightlifting  
[2026-02-16 10:27:37] local.INFO: Tab value: test  
[2026-02-16 10:27:37] local.INFO: Tab value: test  
[2026-02-16 10:27:37] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-16 10:27:37] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-17 00:55:02] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:55:02] local.INFO: Tab value: warmup  
[2026-02-17 00:55:02] local.INFO: Tab value: strength  
[2026-02-17 00:55:02] local.INFO: Tab value: conditioning  
[2026-02-17 00:55:02] local.INFO: Tab value: weightlifting  
[2026-02-17 00:55:02] local.INFO: Tab value: test  
[2026-02-17 00:55:02] local.INFO: Tab value: test  
[2026-02-17 00:55:02] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:55:02] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-17 00:55:53] local.INFO: Incoming Warmup Request Data:  {"_token":"nuscXlBTMDbUkgGDbexB32uzFVprdyo2pYzuCZKZ","selectdatew":"17/02/26 Tuesday","namew_2":null,"warmup_id":null,"namew_1":"170226","categoryw_1":"4","workoutw_1":"114","repsw_1":"10","weigthc_1":"10","male_1":"10","female_1":"5","unit_1":"Kg"} 
[2026-02-17 00:55:53] local.INFO: Processing Warmup Group #1: {"namew_1":"170226","categoryw_1":"4","workoutw_1":"114","repsw_1":"10","weigthc_1":"10","male_1":"10","female_1":"5","unit_1":"Kg"} 
[2026-02-17 00:55:53] local.INFO: Warmup entry saved with ID: 60  
[2026-02-17 00:55:53] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-02-17 00:55:58] local.INFO: Incoming Warmup Request Data:  {"_token":"nuscXlBTMDbUkgGDbexB32uzFVprdyo2pYzuCZKZ","selectdatew":"17/02/26 Tuesday","namew_2":null,"warmup_id":null,"namew_1":"170226","categoryw_1":"4","workoutw_1":"114","repsw_1":"10","weigthc_1":"10","male_1":"10","female_1":"5","unit_1":"Kg"} 
[2026-02-17 00:55:58] local.INFO: Processing Warmup Group #1: {"namew_1":"170226","categoryw_1":"4","workoutw_1":"114","repsw_1":"10","weigthc_1":"10","male_1":"10","female_1":"5","unit_1":"Kg"} 
[2026-02-17 00:55:58] local.INFO: Warmup entry saved with ID: 61  
[2026-02-17 00:55:58] local.INFO: Processing Warmup Group #2: {"namew_2":null} 
[2026-02-17 00:56:01] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:56:01] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:56:02] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-17 00:56:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-17 00:56:02] local.INFO: Strength records fetched: 0  
[2026-02-17 00:56:02] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-17 00:56:50] local.INFO: Received request data: {"_token":"nuscXlBTMDbUkgGDbexB32uzFVprdyo2pYzuCZKZ","selectdates":"17/02/26 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"170226","categorys_1":"4","workouts_1":"17","weigths_1":"85","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"4","setweight_1":"85","sets_12":"2","reps_12":"4","setweight_12":"85","sets_13":"3","reps_13":"4","setweight_13":"85","sets_14":"4","reps_14":"4","setweight_14":"85","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-17 00:56:50] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"170226","categorys_1":"4","workouts_1":"17","weigths_1":"85","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"4","setweight_1":"85","sets_12":"2","reps_12":"4","setweight_12":"85","sets_13":"3","reps_13":"4","setweight_13":"85","sets_14":"4","reps_14":"4","setweight_14":"85","restreds_1":"00:04:00","restyellows_1":"00:02:00","restgreens_1":"00:01:00","intensitys_1":"high"} 
[2026-02-17 00:56:51] local.INFO: Created Strength ID {"id":113} 
[2026-02-17 00:56:51] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"4","weight":"85","alt_set":null,"alt_reps":null,"strength_id":113} 
[2026-02-17 00:56:51] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"4","weight":"85","alt_set":null,"alt_reps":null,"strength_id":113} 
[2026-02-17 00:56:51] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"4","weight":"85","alt_set":null,"alt_reps":null,"strength_id":113} 
[2026-02-17 00:56:51] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"4","weight":"85","alt_set":null,"alt_reps":null,"strength_id":113} 
[2026-02-17 00:56:52] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:56:53] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:56:53] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-17 00:56:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-17T00:56:50.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-17 00:56:53] local.INFO: Strength records fetched: 1  
[2026-02-17 00:56:53] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-17 00:58:15] local.INFO: Received request data: {"_token":"nuscXlBTMDbUkgGDbexB32uzFVprdyo2pYzuCZKZ","selectdates":"17/02/26 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"170226","categorys_1":"4","workouts_1":"69","weigths_1":"60","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"8","setweight_1":"60","sets_12":"2","reps_12":"8","setweight_12":"60","sets_13":"3","reps_13":"8","setweight_13":"60","sets_14":"4","reps_14":"8","setweight_14":"60","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-02-17 00:58:15] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"170226","categorys_1":"4","workouts_1":"69","weigths_1":"60","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"8","setweight_1":"60","sets_12":"2","reps_12":"8","setweight_12":"60","sets_13":"3","reps_13":"8","setweight_13":"60","sets_14":"4","reps_14":"8","setweight_14":"60","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-02-17 00:58:15] local.INFO: Created Strength ID {"id":114} 
[2026-02-17 00:58:15] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"8","weight":"60","alt_set":null,"alt_reps":null,"strength_id":114} 
[2026-02-17 00:58:15] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"8","weight":"60","alt_set":null,"alt_reps":null,"strength_id":114} 
[2026-02-17 00:58:15] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"8","weight":"60","alt_set":null,"alt_reps":null,"strength_id":114} 
[2026-02-17 00:58:15] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"8","weight":"60","alt_set":null,"alt_reps":null,"strength_id":114} 
[2026-02-17 00:58:17] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:58:17] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:58:18] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-17 00:58:18] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-17T00:56:50.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":114,"category_id":4,"workout_id":69,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-17 00:58:18] local.INFO: Strength records fetched: 2  
[2026-02-17 00:58:18] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]},{"id":114,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-17 00:58:19] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:58:20] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:58:49] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:58:50] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:58:50] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-17 00:58:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-17T00:56:50.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":114,"category_id":4,"workout_id":69,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-17 00:58:50] local.INFO: Strength records fetched: 2  
[2026-02-17 00:58:50] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]},{"id":114,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-17 00:59:25] local.INFO: Received request data: {"_token":"nuscXlBTMDbUkgGDbexB32uzFVprdyo2pYzuCZKZ","selectdates":"17/02/26 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"170226","categorys_1":"6","workouts_1":"86","weigths_1":"40","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":null,"setweight_1":"40","sets_12":"2","reps_12":null,"setweight_12":"40","sets_13":"3","reps_13":null,"setweight_13":"40","sets_14":"4","reps_14":null,"setweight_14":"40","sets_15":"5","reps_15":null,"setweight_15":"40","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-02-17 00:59:25] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"170226","categorys_1":"6","workouts_1":"86","weigths_1":"40","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":null,"setweight_1":"40","sets_12":"2","reps_12":null,"setweight_12":"40","sets_13":"3","reps_13":null,"setweight_13":"40","sets_14":"4","reps_14":null,"setweight_14":"40","sets_15":"5","reps_15":null,"setweight_15":"40","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-02-17 00:59:25] local.INFO: Created Strength ID {"id":115} 
[2026-02-17 00:59:25] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":null,"weight":"40","alt_set":null,"alt_reps":null,"strength_id":115} 
[2026-02-17 00:59:25] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":null,"weight":"40","alt_set":null,"alt_reps":null,"strength_id":115} 
[2026-02-17 00:59:25] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":null,"weight":"40","alt_set":null,"alt_reps":null,"strength_id":115} 
[2026-02-17 00:59:25] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":null,"weight":"40","alt_set":null,"alt_reps":null,"strength_id":115} 
[2026-02-17 00:59:25] local.INFO: Saving StrengthSetRep row {"sets":"5","reps":null,"weight":"40","alt_set":null,"alt_reps":null,"strength_id":115} 
[2026-02-17 00:59:27] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:59:27] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 00:59:27] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-17 00:59:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-17T00:56:50.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":114,"category_id":4,"workout_id":69,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}],"alt_category":null,"alt_workout":null},{"id":115,"category_id":6,"workout_id":86,"weight":40.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},"setstrengthsetsreps":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-17 00:59:27] local.INFO: Strength records fetched: 3  
[2026-02-17 00:59:27] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]},{"id":114,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}]},{"id":115,"category_id":6,"category_name":"Carry/Oly","workout_id":86,"workout_type":"Suitcase carry","workoutname":"170226","weight":40.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-17 01:00:12] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 01:00:13] local.INFO: Tab value: warmup  
[2026-02-17 01:00:13] local.INFO: Tab value: strength  
[2026-02-17 01:00:13] local.INFO: Tab value: conditioning  
[2026-02-17 01:00:13] local.INFO: Tab value: test  
[2026-02-17 01:00:13] local.INFO: Tab value: weightlifting  
[2026-02-17 01:00:13] local.INFO: Tab value: test  
[2026-02-17 01:00:13] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-17 01:00:13] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 01:00:23] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 01:00:24] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 01:00:24] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-17 01:00:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-17T00:56:50.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":114,"category_id":4,"workout_id":69,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}],"alt_category":null,"alt_workout":null},{"id":115,"category_id":6,"workout_id":86,"weight":40.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},"setstrengthsetsreps":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-17 01:00:24] local.INFO: Strength records fetched: 3  
[2026-02-17 01:00:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]},{"id":114,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}]},{"id":115,"category_id":6,"category_name":"Carry/Oly","workout_id":86,"workout_type":"Suitcase carry","workoutname":"170226","weight":40.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-17 01:01:08] local.INFO: Received request data: {"_token":"nuscXlBTMDbUkgGDbexB32uzFVprdyo2pYzuCZKZ","selectdates":"17/02/26 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"170226","categorys_1":"6","workouts_1":"144","weigths_1":"60","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"3","setweight_1":"60","sets_12":"2","reps_12":"3","setweight_12":"65","sets_13":"3","reps_13":"3","setweight_13":"70","sets_14":"4","reps_14":"3","setweight_14":"75","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-02-17 01:01:08] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"170226","categorys_1":"6","workouts_1":"144","weigths_1":"60","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"3","setweight_1":"60","sets_12":"2","reps_12":"3","setweight_12":"65","sets_13":"3","reps_13":"3","setweight_13":"70","sets_14":"4","reps_14":"3","setweight_14":"75","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-02-17 01:01:08] local.INFO: Created Strength ID {"id":116} 
[2026-02-17 01:01:08] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"3","weight":"60","alt_set":null,"alt_reps":null,"strength_id":116} 
[2026-02-17 01:01:08] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"3","weight":"65","alt_set":null,"alt_reps":null,"strength_id":116} 
[2026-02-17 01:01:08] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"3","weight":"70","alt_set":null,"alt_reps":null,"strength_id":116} 
[2026-02-17 01:01:08] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"3","weight":"75","alt_set":null,"alt_reps":null,"strength_id":116} 
[2026-02-17 01:01:10] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 01:01:10] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 01:01:11] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-17 01:01:11] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-17T00:56:50.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":114,"category_id":4,"workout_id":69,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}],"alt_category":null,"alt_workout":null},{"id":115,"category_id":6,"workout_id":86,"weight":40.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},"setstrengthsetsreps":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}],"alt_category":null,"alt_workout":null},{"id":116,"category_id":6,"workout_id":144,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},"setstrengthsetsreps":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-17 01:01:11] local.INFO: Strength records fetched: 4  
[2026-02-17 01:01:11] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]},{"id":114,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}]},{"id":115,"category_id":6,"category_name":"Carry/Oly","workout_id":86,"workout_type":"Suitcase carry","workoutname":"170226","weight":40.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}]},{"id":116,"category_id":6,"category_name":"Carry/Oly","workout_id":144,"workout_type":"Power Clean","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-17 01:02:00] local.INFO: Received request data: {"_token":"nuscXlBTMDbUkgGDbexB32uzFVprdyo2pYzuCZKZ","selectdates":"17/02/26 Tuesday","selecttabs":"strength","name_1":null,"strength_id":null,"names_1":"170226","categorys_1":"1","workouts_1":"28","weigths_1":"30","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"8","setweight_1":"30","sets_12":"2","reps_12":"8","setweight_12":"30","sets_13":"3","reps_13":"8","setweight_13":"35","sets_14":"4","reps_14":"8","setweight_14":"35","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-02-17 01:02:00] local.INFO: processedData strenght Request Data:  {"name_1":null,"names_1":"170226","categorys_1":"1","workouts_1":"28","weigths_1":"30","unit_1":"%","setsid_1":null,"sets_1":"1","reps_1":"8","setweight_1":"30","sets_12":"2","reps_12":"8","setweight_12":"30","sets_13":"3","reps_13":"8","setweight_13":"35","sets_14":"4","reps_14":"8","setweight_14":"35","restreds_1":"00:04:00","restyellows_1":"00:04:00","restgreens_1":"00:04:00"} 
[2026-02-17 01:02:00] local.INFO: Created Strength ID {"id":117} 
[2026-02-17 01:02:00] local.INFO: Saving StrengthSetRep row {"sets":"1","reps":"8","weight":"30","alt_set":null,"alt_reps":null,"strength_id":117} 
[2026-02-17 01:02:00] local.INFO: Saving StrengthSetRep row {"sets":"2","reps":"8","weight":"30","alt_set":null,"alt_reps":null,"strength_id":117} 
[2026-02-17 01:02:00] local.INFO: Saving StrengthSetRep row {"sets":"3","reps":"8","weight":"35","alt_set":null,"alt_reps":null,"strength_id":117} 
[2026-02-17 01:02:00] local.INFO: Saving StrengthSetRep row {"sets":"4","reps":"8","weight":"35","alt_set":null,"alt_reps":null,"strength_id":117} 
[2026-02-17 01:02:02] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 01:02:03] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 01:02:03] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-17 01:02:03] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-17T00:56:50.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":114,"category_id":4,"workout_id":69,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}],"alt_category":null,"alt_workout":null},{"id":115,"category_id":6,"workout_id":86,"weight":40.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},"setstrengthsetsreps":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}],"alt_category":null,"alt_workout":null},{"id":116,"category_id":6,"workout_id":144,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},"setstrengthsetsreps":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}],"alt_category":null,"alt_workout":null},{"id":117,"category_id":1,"workout_id":28,"weight":30.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},"setstrengthsetsreps":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-17 01:02:03] local.INFO: Strength records fetched: 5  
[2026-02-17 01:02:03] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]},{"id":114,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}]},{"id":115,"category_id":6,"category_name":"Carry/Oly","workout_id":86,"workout_type":"Suitcase carry","workoutname":"170226","weight":40.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}]},{"id":116,"category_id":6,"category_name":"Carry/Oly","workout_id":144,"workout_type":"Power Clean","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}]},{"id":117,"category_id":1,"category_name":"Horizontal pull","workout_id":28,"workout_type":"Seal row","workoutname":"170226","weight":30.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-17 06:59:00] local.INFO: Tab value: warmup  
[2026-02-17 06:59:00] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-17 06:59:00] local.INFO: Tab value: conditioning  
[2026-02-17 06:59:00] local.INFO: Tab value: strength  
[2026-02-17 06:59:00] local.INFO: Tab value: weightlifting  
[2026-02-17 06:59:00] local.INFO: Tab value: test  
[2026-02-17 06:59:00] local.INFO: Tab value: test  
[2026-02-17 06:59:00] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-17 06:59:00] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:41:53] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 01:41:53] local.INFO: Tab value: warmup  
[2026-02-20 01:41:53] local.INFO: Tab value: strength  
[2026-02-20 01:41:53] local.INFO: Tab value: conditioning  
[2026-02-20 01:41:53] local.INFO: Tab value: test  
[2026-02-20 01:41:53] local.INFO: Tab value: weightlifting  
[2026-02-20 01:41:53] local.INFO: Tab value: test  
[2026-02-20 01:41:53] local.INFO: Members Data: [{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0},{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0},{"id":5,"user_id":9,"firstname":"Laiton","lastname":"Frisk","dob":"1990-04-02","gender":"Male","age":34,"phone":"0422 471 558","email":"laitonfrisk@gmail.com","address":"1 heath court, somers","height":187,"weight":106,"bmr":"56.68","primary_goal":"Competitive Weightlifting","subscription_level":"Unlimited","image_paths":"[]","created_at":"2024-11-27T23:48:03.000000Z","updated_at":"2024-11-27T23:49:15.000000Z","startdate":null,"is_subsactive":0},{"id":6,"user_id":11,"firstname":"TestDecd","lastname":"Sampleton","dob":"2002-12-01","gender":"Female","age":23,"phone":"0434278995","email":"test@testing.com.au","address":"123 Test Street","height":150,"weight":60,"bmr":"40.00","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2025-12-01T06:10:50.000000Z","updated_at":"2025-12-01T06:10:50.000000Z","startdate":"2025-12-01","is_subsactive":1},{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}] 
[2026-02-20 01:41:53] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 01:41:54] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-20 01:41:59] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-20 01:41:59] local.INFO: Day received: {"day":"16/02/26 Monday"} 
[2026-02-20 01:41:59] local.INFO: Received date: 16/02/26 Monday  
[2026-02-20 01:41:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]}} 
[2026-02-20 01:41:59] local.INFO: Strength records fetched: 0  
[2026-02-20 01:41:59] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-20 01:42:01] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:42:01] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:42:01] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-20 01:42:01] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-17T00:56:50.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":114,"category_id":4,"workout_id":69,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}],"alt_category":null,"alt_workout":null},{"id":115,"category_id":6,"workout_id":86,"weight":40.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},"setstrengthsetsreps":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}],"alt_category":null,"alt_workout":null},{"id":116,"category_id":6,"workout_id":144,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},"setstrengthsetsreps":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}],"alt_category":null,"alt_workout":null},{"id":117,"category_id":1,"workout_id":28,"weight":30.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},"setstrengthsetsreps":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-20 01:42:01] local.INFO: Strength records fetched: 5  
[2026-02-20 01:42:01] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]},{"id":114,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}]},{"id":115,"category_id":6,"category_name":"Carry/Oly","workout_id":86,"workout_type":"Suitcase carry","workoutname":"170226","weight":40.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}]},{"id":116,"category_id":6,"category_name":"Carry/Oly","workout_id":144,"workout_type":"Power Clean","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}]},{"id":117,"category_id":1,"category_name":"Horizontal pull","workout_id":28,"workout_type":"Seal row","workoutname":"170226","weight":30.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-20 01:42:09] local.INFO: assignWorkoutToClass:  {"_token":"R8VmHTE4xYOEVQkvMpcaJDSdbfIJmbdRip9udEpB","workout_id":"113","class_id":"all","type":"strength","action":"assign_all","date":"17/02/26 Tuesday"} 
[2026-02-20 01:42:12] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:42:12] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:42:12] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-20 01:42:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-20T01:42:09.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":114,"category_id":4,"workout_id":69,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}],"alt_category":null,"alt_workout":null},{"id":115,"category_id":6,"workout_id":86,"weight":40.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},"setstrengthsetsreps":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}],"alt_category":null,"alt_workout":null},{"id":116,"category_id":6,"workout_id":144,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},"setstrengthsetsreps":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}],"alt_category":null,"alt_workout":null},{"id":117,"category_id":1,"workout_id":28,"weight":30.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},"setstrengthsetsreps":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-20 01:42:12] local.INFO: Strength records fetched: 5  
[2026-02-20 01:42:12] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]},{"id":114,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}]},{"id":115,"category_id":6,"category_name":"Carry/Oly","workout_id":86,"workout_type":"Suitcase carry","workoutname":"170226","weight":40.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}]},{"id":116,"category_id":6,"category_name":"Carry/Oly","workout_id":144,"workout_type":"Power Clean","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}]},{"id":117,"category_id":1,"category_name":"Horizontal pull","workout_id":28,"workout_type":"Seal row","workoutname":"170226","weight":30.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-20 01:42:16] local.INFO: assignWorkoutToClass:  {"_token":"R8VmHTE4xYOEVQkvMpcaJDSdbfIJmbdRip9udEpB","workout_id":"114","class_id":"248","type":"strength","action":"assign","date":"17/02/26 Tuesday"} 
[2026-02-20 01:42:17] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:42:17] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:42:17] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-20 01:42:17] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-20T01:42:09.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":114,"category_id":4,"workout_id":69,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-20T01:42:16.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}],"alt_category":null,"alt_workout":null},{"id":115,"category_id":6,"workout_id":86,"weight":40.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},"setstrengthsetsreps":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}],"alt_category":null,"alt_workout":null},{"id":116,"category_id":6,"workout_id":144,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},"setstrengthsetsreps":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}],"alt_category":null,"alt_workout":null},{"id":117,"category_id":1,"workout_id":28,"weight":30.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},"setstrengthsetsreps":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-20 01:42:17] local.INFO: Strength records fetched: 5  
[2026-02-20 01:42:17] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]},{"id":114,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}]},{"id":115,"category_id":6,"category_name":"Carry/Oly","workout_id":86,"workout_type":"Suitcase carry","workoutname":"170226","weight":40.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}]},{"id":116,"category_id":6,"category_name":"Carry/Oly","workout_id":144,"workout_type":"Power Clean","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}]},{"id":117,"category_id":1,"category_name":"Horizontal pull","workout_id":28,"workout_type":"Seal row","workoutname":"170226","weight":30.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-20 01:42:20] local.INFO: assignWorkoutToClass:  {"_token":"R8VmHTE4xYOEVQkvMpcaJDSdbfIJmbdRip9udEpB","workout_id":"115","class_id":"248","type":"strength","action":"assign","date":"17/02/26 Tuesday"} 
[2026-02-20 01:42:20] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:42:21] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:42:21] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-20 01:42:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-20T01:42:09.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":114,"category_id":4,"workout_id":69,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-20T01:42:16.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}],"alt_category":null,"alt_workout":null},{"id":115,"category_id":6,"workout_id":86,"weight":40.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-20T01:42:20.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},"setstrengthsetsreps":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}],"alt_category":null,"alt_workout":null},{"id":116,"category_id":6,"workout_id":144,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},"setstrengthsetsreps":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}],"alt_category":null,"alt_workout":null},{"id":117,"category_id":1,"workout_id":28,"weight":30.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},"setstrengthsetsreps":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-20 01:42:21] local.INFO: Strength records fetched: 5  
[2026-02-20 01:42:21] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]},{"id":114,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}]},{"id":115,"category_id":6,"category_name":"Carry/Oly","workout_id":86,"workout_type":"Suitcase carry","workoutname":"170226","weight":40.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}]},{"id":116,"category_id":6,"category_name":"Carry/Oly","workout_id":144,"workout_type":"Power Clean","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}]},{"id":117,"category_id":1,"category_name":"Horizontal pull","workout_id":28,"workout_type":"Seal row","workoutname":"170226","weight":30.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-20 01:42:24] local.INFO: assignWorkoutToClass:  {"_token":"R8VmHTE4xYOEVQkvMpcaJDSdbfIJmbdRip9udEpB","workout_id":"116","class_id":"248","type":"strength","action":"assign","date":"17/02/26 Tuesday"} 
[2026-02-20 01:42:24] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:42:24] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:42:24] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-20 01:42:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-20T01:42:09.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":114,"category_id":4,"workout_id":69,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-20T01:42:16.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}],"alt_category":null,"alt_workout":null},{"id":115,"category_id":6,"workout_id":86,"weight":40.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-20T01:42:20.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},"setstrengthsetsreps":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}],"alt_category":null,"alt_workout":null},{"id":116,"category_id":6,"workout_id":144,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-20T01:42:24.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},"setstrengthsetsreps":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}],"alt_category":null,"alt_workout":null},{"id":117,"category_id":1,"workout_id":28,"weight":30.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","workoutname":"170226","is_assigned":0,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},"setstrengthsetsreps":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-20 01:42:24] local.INFO: Strength records fetched: 5  
[2026-02-20 01:42:24] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]},{"id":114,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}]},{"id":115,"category_id":6,"category_name":"Carry/Oly","workout_id":86,"workout_type":"Suitcase carry","workoutname":"170226","weight":40.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}]},{"id":116,"category_id":6,"category_name":"Carry/Oly","workout_id":144,"workout_type":"Power Clean","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}]},{"id":117,"category_id":1,"category_name":"Horizontal pull","workout_id":28,"workout_type":"Seal row","workoutname":"170226","weight":30.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":0,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-20 01:42:28] local.INFO: assignWorkoutToClass:  {"_token":"R8VmHTE4xYOEVQkvMpcaJDSdbfIJmbdRip9udEpB","workout_id":"117","class_id":"248","type":"strength","action":"assign","date":"17/02/26 Tuesday"} 
[2026-02-20 01:42:28] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:42:28] local.INFO: Day received: {"day":"17/02/26 Tuesday"} 
[2026-02-20 01:42:28] local.INFO: Received date: 17/02/26 Tuesday  
[2026-02-20 01:42:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":113,"category_id":4,"workout_id":17,"weight":85.0,"restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:56:50.000000Z","updated_at":"2026-02-20T01:42:09.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},"setstrengthsetsreps":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}],"alt_category":null,"alt_workout":null},{"id":114,"category_id":4,"workout_id":69,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-20T01:42:16.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"workout":{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},"setstrengthsetsreps":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}],"alt_category":null,"alt_workout":null},{"id":115,"category_id":6,"workout_id":86,"weight":40.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-20T01:42:20.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},"setstrengthsetsreps":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}],"alt_category":null,"alt_workout":null},{"id":116,"category_id":6,"workout_id":144,"weight":60.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-20T01:42:24.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"workout":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},"setstrengthsetsreps":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}],"alt_category":null,"alt_workout":null},{"id":117,"category_id":1,"workout_id":28,"weight":30.0,"restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"alt_category_id":null,"alt_workout_id":null,"altweight":null,"altrestred":"00:00:00","altrestyellow":"00:00:00","altrestgreen":"00:00:00","altintensity":null,"date":"17/02/26 Tuesday","created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-20T01:42:28.000000Z","workoutname":"170226","is_assigned":1,"unit":"%","category":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"workout":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},"setstrengthsetsreps":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}],"alt_category":null,"alt_workout":null}]}} 
[2026-02-20 01:42:28] local.INFO: Strength records fetched: 5  
[2026-02-20 01:42:28] local.INFO: Response data strength:  {"Strength":{"Illuminate\\Support\\Collection":[{"id":113,"category_id":4,"category_name":"Squat","workout_id":17,"workout_type":"Back squat","workoutname":"170226","weight":85.0,"unit":"%","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","intensity":"high","is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":322,"sets":1,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":323,"sets":2,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":324,"sets":3,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"},{"id":325,"sets":4,"reps":4,"alt_sets":null,"alt_reps":null,"strength_id":113,"created_at":"2026-02-17T00:56:51.000000Z","updated_at":"2026-02-17T00:56:51.000000Z","weight":"85"}]},{"id":114,"category_id":4,"category_name":"Squat","workout_id":69,"workout_type":"Cyclist squat","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":326,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":327,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":328,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"},{"id":329,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":114,"created_at":"2026-02-17T00:58:15.000000Z","updated_at":"2026-02-17T00:58:15.000000Z","weight":"60"}]},{"id":115,"category_id":6,"category_name":"Carry/Oly","workout_id":86,"workout_type":"Suitcase carry","workoutname":"170226","weight":40.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":330,"sets":1,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":331,"sets":2,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":332,"sets":3,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":333,"sets":4,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"},{"id":334,"sets":5,"reps":null,"alt_sets":null,"alt_reps":null,"strength_id":115,"created_at":"2026-02-17T00:59:25.000000Z","updated_at":"2026-02-17T00:59:25.000000Z","weight":"40"}]},{"id":116,"category_id":6,"category_name":"Carry/Oly","workout_id":144,"workout_type":"Power Clean","workoutname":"170226","weight":60.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":335,"sets":1,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"60"},{"id":336,"sets":2,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"65"},{"id":337,"sets":3,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"70"},{"id":338,"sets":4,"reps":3,"alt_sets":null,"alt_reps":null,"strength_id":116,"created_at":"2026-02-17T01:01:08.000000Z","updated_at":"2026-02-17T01:01:08.000000Z","weight":"75"}]},{"id":117,"category_id":1,"category_name":"Horizontal pull","workout_id":28,"workout_type":"Seal row","workoutname":"170226","weight":30.0,"unit":"%","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","intensity":null,"is_assigned":1,"alt_category_id":null,"alt_category_name":null,"alt_workout_id":null,"alt_workout_type":null,"assigned_class_ids":[248],"alt_weight":null,"alt_restred":"00:00:00","alt_restyellow":"00:00:00","alt_restgreen":"00:00:00","alt_intensity":null,"date":"17/02/26 Tuesday","sets":[{"id":339,"sets":1,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":340,"sets":2,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"30"},{"id":341,"sets":3,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"},{"id":342,"sets":4,"reps":8,"alt_sets":null,"alt_reps":null,"strength_id":117,"created_at":"2026-02-17T01:02:00.000000Z","updated_at":"2026-02-17T01:02:00.000000Z","weight":"35"}]}]},"categoryOptions":{"Illuminate\\Support\\Collection":{"0":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null},"1":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null},"2":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null},"13":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null},"42":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null},"52":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null},"58":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-02-20 04:31:30] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 04:31:30] local.INFO: Tab value: all  
[2026-02-20 09:11:27] local.INFO: Tab value: all  
[2026-02-20 09:11:27] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:11:36] local.INFO: Store Class Request Data: {"_token":"Rieq3BrGJMsj8JlotL1C5isoqsoZFfcrwCfR99t3","selectdatecla":"20/02/26 Friday","time":"08:00","duration":"1","spots":"20"} 
[2026-02-20 09:11:36] local.INFO: Creating single class. Date input: 20/02/26 Friday  
[2026-02-20 09:11:36] local.INFO: Parsed start date: 2026-02-20  
[2026-02-20 09:11:36] local.INFO: createClass helper called. Date: 20/02/26 Friday, Time: 08:00, Spots: 20  
[2026-02-20 09:11:36] local.INFO: Class created: 477  
[2026-02-20 09:11:36] local.INFO: Single class creation called successfully.  
[2026-02-20 09:11:39] local.INFO: Tab value: all  
[2026-02-20 09:11:39] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:12:11] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:12:11] local.INFO: Tab value: all  
[2026-02-20 09:16:16] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:16:16] local.INFO: Tab value: all  
[2026-02-20 09:16:31] local.INFO: Tab value: all  
[2026-02-20 09:16:31] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:16:32] local.INFO: Saved type row warmup  
[2026-02-20 09:16:32] local.INFO: Saved type row warmup  
[2026-02-20 09:16:32] local.INFO: Saved type row warmup  
[2026-02-20 09:16:38] local.INFO: assignWorkoutToClass:  {"workout_id":1,"class_id":477,"type":"workout_manager","action":"assign","date":"20/02/26 Friday"} 
[2026-02-20 09:16:38] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:16:38] local.INFO: Saved type row warmup  
[2026-02-20 09:16:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":251,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:16:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:16:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":251,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:16:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":251,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:16:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-20 09:16:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-20 09:16:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":251,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:16:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-02-20 09:16:53] local.WARNING: [getWorkouts] No workout assignments found {"class_id":251,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[1],"types":["warmup"]} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1]} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[1],"types":["Warmup"],"formats":["rounds"]} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-02-20 09:17:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-02-20 09:17:12] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:17:12] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:17:12] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-02-20 09:17:18] local.INFO: storewarmupdaily function called.  
[2026-02-20 09:17:18] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-02-20 09:17:18] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":1,"workout_format_type":"rounds","workout_format_id":1,"reps":3,"date":"20/02/26 Friday"}]} 
[2026-02-20 09:17:18] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-02-20 09:17:18] local.INFO: New warm-up created {"workout_manager_id":1,"workout_format_type":"rounds","workout_format_id":1} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[1],"types":["warmup"]} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1]} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[1],"types":["Warmup"],"formats":["rounds"]} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-02-20 09:17:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-02-20 09:17:22] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:17:22] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:17:22] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-02-20 09:18:16] local.INFO: Tab value: all  
[2026-02-20 09:18:16] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:18:16] local.INFO: Saved type row strength  
[2026-02-20 09:18:16] local.INFO: Saved type row warmup  
[2026-02-20 09:18:16] local.INFO: Saved type row strength  
[2026-02-20 09:18:16] local.INFO: Saved type row warmup  
[2026-02-20 09:18:16] local.INFO: Saved type row strength  
[2026-02-20 09:18:16] local.INFO: Saved type row warmup  
[2026-02-20 09:18:20] local.INFO: assignWorkoutToClass:  {"workout_id":2,"class_id":477,"type":"workout_manager","action":"assign","date":"20/02/26 Friday"} 
[2026-02-20 09:18:21] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:18:21] local.INFO: Saved type row strength  
[2026-02-20 09:18:21] local.INFO: Saved type row warmup  
[2026-02-20 09:18:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[]} 
[2026-02-20 09:18:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":0,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:18:26] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:18:26] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:18:26] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[21],"test_ids":[53]} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"}}} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21]} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21]} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21]} 
[2026-02-20 09:18:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:18:43] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:18:43] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:18:43] local.INFO: Tests retrieved {"count":1,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[21],"test_ids":[53]} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"}}} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21]} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21]} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21]} 
[2026-02-20 09:18:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:18:49] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:18:49] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:18:49] local.INFO: Tests retrieved {"count":1,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[21],"test_ids":[53]} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"}}} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21]} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21]} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21]} 
[2026-02-20 09:18:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:18:52] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:18:52] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:18:52] local.INFO: Tests retrieved {"count":1,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[21],"test_ids":[53]} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"}}} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21]} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21]} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21]} 
[2026-02-20 09:18:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:18:54] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:18:54] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:18:54] local.INFO: Tests retrieved {"count":1,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[21],"test_ids":[53]} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"}}} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21]} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21]} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21]} 
[2026-02-20 09:19:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:19:03] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:19:03] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:19:03] local.INFO: Tests retrieved {"count":1,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[21],"test_ids":[53]} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"}}} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21]} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21]} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21]} 
[2026-02-20 09:22:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:22:33] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:22:33] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:22:33] local.INFO: Tests retrieved {"count":1,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[21],"test_ids":[53]} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"}}} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21]} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21]} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21]} 
[2026-02-20 09:22:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:22:37] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:22:37] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:22:37] local.INFO: Tests retrieved {"count":1,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[21],"test_ids":[53]} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"}}} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21]} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21]} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21]} 
[2026-02-20 09:25:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:25:28] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:25:28] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:25:28] local.INFO: Tests retrieved {"count":1,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:26:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:26:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:26:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:26:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:26:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:26:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:26:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:26:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:26:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:26:17] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:26:17] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:26:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:26:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:26:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:26:17] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:26:17] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:26:17] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:26:17] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:26:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:26:20] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:26:20] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:26:20] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:26:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:26:21] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:26:21] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:26:21] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:26:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:26:28] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:26:28] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:26:28] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:27:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:27:49] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:27:49] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:27:49] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:27:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:27:51] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:27:51] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:27:51] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:27:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:27:53] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:27:53] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:27:53] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:28:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:28:00] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:28:00] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:28:00] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:28:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:28:10] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:28:10] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:28:10] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:32:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:32:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:32:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:32:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:32:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:32:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:32:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:32:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:32:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:32:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:32:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:32:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:32:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:32:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:32:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:32:54] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:32:54] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:32:54] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:38:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:38:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:38:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:38:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:38:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:38:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:38:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:38:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:38:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:38:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:38:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:38:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:38:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:38:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:38:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:38:54] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:38:54] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:38:54] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:38:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:38:55] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:38:55] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:38:55] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:39:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:39:03] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:39:03] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:39:03] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:39:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:39:05] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:39:05] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:39:05] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:39:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:39:07] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:39:07] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:39:07] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:39:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:39:21] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:39:21] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:39:21] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:39:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:39:39] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:39:39] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:39:39] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:47:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:47:36] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:47:36] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:47:36] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:50:08] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:50:08] local.INFO: Tab value: all  
[2026-02-20 09:50:09] local.INFO: Saved type row pr's  
[2026-02-20 09:50:09] local.INFO: Saved type row pr's  
[2026-02-20 09:50:09] local.INFO: Saved type row strength  
[2026-02-20 09:50:09] local.INFO: Saved type row warmup  
[2026-02-20 09:50:09] local.INFO: Saved type row pr's  
[2026-02-20 09:50:09] local.INFO: Saved type row pr's  
[2026-02-20 09:50:09] local.INFO: Saved type row strength  
[2026-02-20 09:50:09] local.INFO: Saved type row warmup  
[2026-02-20 09:50:09] local.INFO: Saved type row pr's  
[2026-02-20 09:50:09] local.INFO: Saved type row pr's  
[2026-02-20 09:50:09] local.INFO: Saved type row strength  
[2026-02-20 09:50:09] local.INFO: Saved type row warmup  
[2026-02-20 09:50:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:50:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:50:12] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:50:12] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:50:12] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:50:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:50:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:50:15] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:50:15] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:50:15] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:50:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:50:24] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:50:24] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:50:24] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[21,132],"test_ids":[53,54]} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"}}} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132]} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132]} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"available_test_library_ids":[21,132]} 
[2026-02-20 09:50:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":1,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:50:49] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:50:49] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:50:49] local.INFO: Tests retrieved {"count":2,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:51:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":2,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:51:24] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:51:24] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:51:24] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:51:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":2,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:51:28] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:51:28] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:51:28] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:51:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":2,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:51:40] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:51:40] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:51:40] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:52:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":2,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:52:59] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:52:59] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:52:59] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:53:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":2,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:53:58] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:53:58] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:53:58] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:55:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":2,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:55:55] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:55:55] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:55:55] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:55:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":2,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:55:59] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:55:59] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:55:59] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:56:06] local.INFO: storewarmupdaily function called.  
[2026-02-20 09:56:06] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-02-20 09:56:06] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":1,"workout_format_type":"rounds","workout_format_id":1,"reps":3,"date":"20/02/26 Friday"}]} 
[2026-02-20 09:56:06] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-02-20 09:56:06] local.INFO: New warm-up created {"workout_manager_id":1,"workout_format_type":"rounds","workout_format_id":1} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:56:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":2,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:56:09] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:56:09] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:56:09] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:56:58] local.INFO: storestrengthdaily function called.  
[2026-02-20 09:56:58] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-02-20 09:56:58] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":2,"workout_format_type":"straight-sets","workout_format_id":1,"reps":4,"weight":3.75,"date":"20/02/26 Friday","set_number":1}]} 
[2026-02-20 09:56:58] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-20 09:56:58] local.INFO: New strength record created {"workout_manager_id":2,"set_number":1} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:57:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":2,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:57:03] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:57:03] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:57:03] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:57:07] local.INFO: storestrengthdaily function called.  
[2026-02-20 09:57:07] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-02-20 09:57:07] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":2,"workout_format_type":"straight-sets","workout_format_id":1,"reps":4,"weight":3.75,"date":"20/02/26 Friday","set_number":1},{"workout_manager_id":2,"workout_format_type":"straight-sets","workout_format_id":2,"reps":4,"weight":4.5,"date":"20/02/26 Friday","set_number":2},{"workout_manager_id":2,"workout_format_type":"straight-sets","workout_format_id":3,"reps":4,"weight":5.25,"date":"20/02/26 Friday","set_number":3},{"workout_manager_id":2,"workout_format_type":"straight-sets","workout_format_id":4,"reps":5,"weight":1.75,"date":"20/02/26 Friday","set_number":1},{"workout_manager_id":2,"workout_format_type":"straight-sets","workout_format_id":5,"reps":5,"weight":2.25,"date":"20/02/26 Friday","set_number":2},{"workout_manager_id":2,"workout_format_type":"straight-sets","workout_format_id":6,"reps":5,"weight":2.5,"date":"20/02/26 Friday","set_number":3}]} 
[2026-02-20 09:57:07] local.INFO: Existing strength record: {"dailyStrength":{"id":54,"member_id":2,"strength_id":null,"workout_manager_id":2,"workout_format_type":"straight-sets","workout_format_id":1,"type":"Primary","reps":4,"weight":"3.75","date":"20/02/26 Friday","created_at":"2026-02-20T09:56:58.000000Z","updated_at":"2026-02-20T09:56:58.000000Z","set_number":1}} 
[2026-02-20 09:57:07] local.INFO: Strength updated {"workout_manager_id":2,"set_number":1} 
[2026-02-20 09:57:07] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-20 09:57:07] local.INFO: New strength record created {"workout_manager_id":2,"set_number":2} 
[2026-02-20 09:57:07] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-20 09:57:07] local.INFO: New strength record created {"workout_manager_id":2,"set_number":3} 
[2026-02-20 09:57:07] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-20 09:57:07] local.INFO: New strength record created {"workout_manager_id":2,"set_number":1} 
[2026-02-20 09:57:07] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-20 09:57:07] local.INFO: New strength record created {"workout_manager_id":2,"set_number":2} 
[2026-02-20 09:57:07] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-20 09:57:07] local.INFO: New strength record created {"workout_manager_id":2,"set_number":3} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:57:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":2,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:57:08] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:57:08] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:57:08] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[1,2],"types":["warmup","strength"]} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2]} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[1,2],"types":["Warmup","Strength"],"formats":["rounds","straight-sets"]} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:57:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":2,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-20 09:57:13] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:57:13] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:57:13] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:57:48] local.INFO: AMRAP row processing {"managerId":6,"index":"1","exercise":"Bike erg","workout_library_id":21} 
[2026-02-20 09:57:48] local.INFO: Saved AMRAP row 1  
[2026-02-20 09:57:51] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:57:51] local.INFO: Saved type row weightlifting  
[2026-02-20 09:57:51] local.INFO: Saved type row pr's  
[2026-02-20 09:57:51] local.INFO: Saved type row pr's  
[2026-02-20 09:57:51] local.INFO: Saved type row pr's  
[2026-02-20 09:57:51] local.INFO: Saved type row strength  
[2026-02-20 09:57:51] local.INFO: Saved type row warmup  
[2026-02-20 09:57:51] local.INFO: Tab value: all  
[2026-02-20 09:57:52] local.INFO: Saved type row weightlifting  
[2026-02-20 09:57:52] local.INFO: Saved type row pr's  
[2026-02-20 09:57:52] local.INFO: Saved type row pr's  
[2026-02-20 09:57:52] local.INFO: Saved type row pr's  
[2026-02-20 09:57:52] local.INFO: Saved type row strength  
[2026-02-20 09:57:52] local.INFO: Saved type row warmup  
[2026-02-20 09:57:52] local.INFO: Saved type row weightlifting  
[2026-02-20 09:57:52] local.INFO: Saved type row pr's  
[2026-02-20 09:57:52] local.INFO: Saved type row pr's  
[2026-02-20 09:57:52] local.INFO: Saved type row pr's  
[2026-02-20 09:57:52] local.INFO: Saved type row strength  
[2026-02-20 09:57:52] local.INFO: Saved type row warmup  
[2026-02-20 09:58:11] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:58:11] local.INFO: Tab value: all  
[2026-02-20 09:58:11] local.INFO: Saved type row weightlifting  
[2026-02-20 09:58:11] local.INFO: Saved type row weightlifting  
[2026-02-20 09:58:11] local.INFO: Saved type row pr's  
[2026-02-20 09:58:11] local.INFO: Saved type row pr's  
[2026-02-20 09:58:11] local.INFO: Saved type row pr's  
[2026-02-20 09:58:11] local.INFO: Saved type row strength  
[2026-02-20 09:58:11] local.INFO: Saved type row warmup  
[2026-02-20 09:58:12] local.INFO: Saved type row weightlifting  
[2026-02-20 09:58:12] local.INFO: Saved type row weightlifting  
[2026-02-20 09:58:12] local.INFO: Saved type row pr's  
[2026-02-20 09:58:12] local.INFO: Saved type row pr's  
[2026-02-20 09:58:12] local.INFO: Saved type row pr's  
[2026-02-20 09:58:12] local.INFO: Saved type row strength  
[2026-02-20 09:58:12] local.INFO: Saved type row warmup  
[2026-02-20 09:58:12] local.INFO: Saved type row weightlifting  
[2026-02-20 09:58:12] local.INFO: Saved type row weightlifting  
[2026-02-20 09:58:12] local.INFO: Saved type row pr's  
[2026-02-20 09:58:12] local.INFO: Saved type row pr's  
[2026-02-20 09:58:12] local.INFO: Saved type row pr's  
[2026-02-20 09:58:12] local.INFO: Saved type row strength  
[2026-02-20 09:58:12] local.INFO: Saved type row warmup  
[2026-02-20 09:58:15] local.INFO: assignWorkoutToClass:  {"workout_id":7,"class_id":477,"type":"workout_manager","action":"assign","date":"20/02/26 Friday"} 
[2026-02-20 09:58:15] local.INFO: Saved type row weightlifting  
[2026-02-20 09:58:15] local.INFO: Saved type row weightlifting  
[2026-02-20 09:58:15] local.INFO: Saved type row pr's  
[2026-02-20 09:58:15] local.INFO: Saved type row pr's  
[2026-02-20 09:58:15] local.INFO: Saved type row pr's  
[2026-02-20 09:58:15] local.INFO: Saved type row strength  
[2026-02-20 09:58:15] local.INFO: Saved type row warmup  
[2026-02-20 09:58:15] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:58:19] local.INFO: assignWorkoutToClass:  {"workout_id":6,"class_id":477,"type":"workout_manager","action":"assign","date":"20/02/26 Friday"} 
[2026-02-20 09:58:20] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 09:58:20] local.INFO: Saved type row weightlifting  
[2026-02-20 09:58:20] local.INFO: Saved type row weightlifting  
[2026-02-20 09:58:20] local.INFO: Saved type row pr's  
[2026-02-20 09:58:20] local.INFO: Saved type row pr's  
[2026-02-20 09:58:20] local.INFO: Saved type row pr's  
[2026-02-20 09:58:20] local.INFO: Saved type row strength  
[2026-02-20 09:58:20] local.INFO: Saved type row warmup  
[2026-02-20 09:58:43] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[1,2,7,6],"types":["warmup","strength","weightlifting"]} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2,7,6]} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[1,2,6,7],"types":["Warmup","Strength","Weightlifting"],"formats":["rounds","straight-sets","amrap","for-time"]} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":6,"relation":"amraps","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":6,"workout_libraries_id":21,"training_load":52,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-20T09:57:48.000000Z","updated_at":"2026-02-20T09:57:48.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":7,"relation":"forTimes","format_row_id":1,"workout_libraries_id":62,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:58:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":3},"amraps":{"seen":1,"matched":1,"not_matched":0,"empty":3},"forTimes":{"seen":1,"matched":0,"not_matched":1,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-02-20 09:58:43] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:58:43] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:58:43] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 09:59:51] local.INFO: storeweightliftingdaily function called.  
[2026-02-20 09:59:51] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-02-20 09:59:51] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":6,"workout_format_type":"amrap","workout_format_id":1,"reps":2,"weight":5.25,"date":"20/02/26 Friday","set_number":1}]} 
[2026-02-20 09:59:51] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-02-20 09:59:51] local.INFO: New weightlifting record created {"workout_manager_id":6,"set_number":1} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[1,2,7,6],"types":["warmup","strength","weightlifting"]} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2,7,6]} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[1,2,6,7],"types":["Warmup","Strength","Weightlifting"],"formats":["rounds","straight-sets","amrap","for-time"]} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":6,"relation":"amraps","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":6,"workout_libraries_id":21,"training_load":52,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-20T09:57:48.000000Z","updated_at":"2026-02-20T09:57:48.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":7,"relation":"forTimes","format_row_id":1,"workout_libraries_id":62,"available_test_library_ids":[21,132,32]} 
[2026-02-20 09:59:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":3},"amraps":{"seen":1,"matched":1,"not_matched":0,"empty":3},"forTimes":{"seen":1,"matched":0,"not_matched":1,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-02-20 09:59:55] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 09:59:55] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 09:59:55] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-20 10:00:27] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-02-20 10:00:51] local.INFO: Debug record {"daily_id":56,"format_type":"straight-sets","format_id":3,"library_id":21,"type":"Strength","weight":"5.25"} 
[2026-02-20 10:00:51] local.INFO: Debug record {"daily_id":55,"format_type":"straight-sets","format_id":2,"library_id":21,"type":"Strength","weight":"4.5"} 
[2026-02-20 10:00:51] local.INFO: Debug record {"daily_id":54,"format_type":"straight-sets","format_id":1,"library_id":21,"type":"Strength","weight":"3.75"} 
[2026-02-20 10:00:51] local.INFO: Debug record {"daily_id":29,"format_type":"amrap","format_id":1,"library_id":21,"type":"Weightlifting","weight":"5.25"} 
[2026-02-20 10:02:43] local.INFO: Tab value: all  
[2026-02-20 10:02:43] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 10:02:44] local.INFO: Saved type row warmup  
[2026-02-20 10:02:44] local.INFO: Saved type row weightlifting  
[2026-02-20 10:02:44] local.INFO: Saved type row weightlifting  
[2026-02-20 10:02:44] local.INFO: Saved type row pr's  
[2026-02-20 10:02:44] local.INFO: Saved type row pr's  
[2026-02-20 10:02:44] local.INFO: Saved type row pr's  
[2026-02-20 10:02:44] local.INFO: Saved type row strength  
[2026-02-20 10:02:44] local.INFO: Saved type row warmup  
[2026-02-20 10:02:44] local.INFO: Saved type row warmup  
[2026-02-20 10:02:44] local.INFO: Saved type row weightlifting  
[2026-02-20 10:02:44] local.INFO: Saved type row weightlifting  
[2026-02-20 10:02:44] local.INFO: Saved type row pr's  
[2026-02-20 10:02:44] local.INFO: Saved type row pr's  
[2026-02-20 10:02:44] local.INFO: Saved type row pr's  
[2026-02-20 10:02:44] local.INFO: Saved type row strength  
[2026-02-20 10:02:44] local.INFO: Saved type row warmup  
[2026-02-20 10:02:44] local.INFO: Saved type row warmup  
[2026-02-20 10:02:44] local.INFO: Saved type row weightlifting  
[2026-02-20 10:02:44] local.INFO: Saved type row weightlifting  
[2026-02-20 10:02:44] local.INFO: Saved type row pr's  
[2026-02-20 10:02:44] local.INFO: Saved type row pr's  
[2026-02-20 10:02:44] local.INFO: Saved type row pr's  
[2026-02-20 10:02:44] local.INFO: Saved type row strength  
[2026-02-20 10:02:44] local.INFO: Saved type row warmup  
[2026-02-20 10:02:47] local.INFO: assignWorkoutToClass:  {"workout_id":8,"class_id":477,"type":"workout_manager","action":"assign","date":"20/02/26 Friday"} 
[2026-02-20 10:02:48] local.INFO: Day received: {"day":"20/02/26 Friday"} 
[2026-02-20 10:02:48] local.INFO: Saved type row warmup  
[2026-02-20 10:02:48] local.INFO: Saved type row weightlifting  
[2026-02-20 10:02:48] local.INFO: Saved type row weightlifting  
[2026-02-20 10:02:48] local.INFO: Saved type row pr's  
[2026-02-20 10:02:48] local.INFO: Saved type row pr's  
[2026-02-20 10:02:48] local.INFO: Saved type row pr's  
[2026-02-20 10:02:48] local.INFO: Saved type row strength  
[2026-02-20 10:02:48] local.INFO: Saved type row warmup  
[2026-02-20 10:02:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/02/26 Friday","date_obj":"2026-02-20"} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":477,"date_string":"20/02/26 Friday","patterns":["20/02/26 Friday","20/02/26","20/02/2026","20/02/26 Friday","20/02/2026 Friday","Friday 20/02/26","Friday 20/02/2026"]} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[21,32,132],"test_ids":[53,55,54]} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,132,32],"testMap_sample":{"21":{"test_id":53,"weight":50.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:18:42"},"132":{"test_id":54,"weight":60.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:26:16"},"32":{"test_id":55,"weight":35.0,"unit_type":"kg","date":"20/02/26 Friday","test_created_at":"2026-02-20 09:51:23"}}} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":477,"date_string":"20/02/26 Friday"} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[1,2,7,6,8],"types":["warmup","strength","weightlifting"]} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[1,2,7,6,8]} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[1,2,6,7,8],"types":["Warmup","Strength","Weightlifting"],"formats":["rounds","straight-sets","amrap","for-time","intervals"]} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,132,32]} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":1,"relation":"rounds","format_row_id":1,"workout_libraries_id":17,"available_test_library_ids":[21,132,32]} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":2,"workout_libraries_id":21,"training_load":52,"unit_type":"%","reps":4,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"straights","format_table":"straights","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":1,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":2,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":80,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":3,"workout_libraries_id":21,"straight_id":1,"res":4,"training_load":52,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":2,"relation":"straights","format_row_id":2,"workout_libraries_id":32,"attached_test_id":55,"attached_test_weight":35.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":2,"workout_libraries_id":32,"training_load":36,"unit_type":"%","reps":5,"created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z","test_weight":35.0,"test_unit_type":"kg","test_id":55,"test_created_at":"2026-02-20 09:51:23","format_row_id":2,"format_relation":"straights","format_table":"straights","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":4,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":5,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"},{"id":6,"workout_libraries_id":32,"straight_id":2,"res":5,"training_load":36,"unittype":"%","created_at":"2026-02-20T09:18:13.000000Z","updated_at":"2026-02-20T09:18:13.000000Z"}]}} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":6,"relation":"amraps","format_row_id":1,"workout_libraries_id":21,"attached_test_id":53,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":6,"workout_libraries_id":21,"training_load":52,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-20T09:57:48.000000Z","updated_at":"2026-02-20T09:57:48.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":53,"test_created_at":"2026-02-20 09:18:42","format_row_id":1,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":7,"relation":"forTimes","format_row_id":1,"workout_libraries_id":62,"available_test_library_ids":[21,132,32]} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":8,"relation":"intervals","format_row_id":1,"workout_libraries_id":41,"available_test_library_ids":[21,132,32]} 
[2026-02-20 10:02:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":3,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":4},"amraps":{"seen":1,"matched":1,"not_matched":0,"empty":4},"forTimes":{"seen":1,"matched":0,"not_matched":1,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":1,"matched":0,"not_matched":1,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-02-20 10:02:53] local.INFO: Day received (raw): {"day":"20/02/26 Friday"} 
[2026-02-20 10:02:53] local.INFO: Day received (sanitized): {"day":"20/02/26 Friday"} 
[2026-02-20 10:02:53] local.INFO: Tests retrieved {"count":3,"tests":[{"id":53,"workout_manager_id":3,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"20/02/26 Friday","weight":50.0,"unit_type":"kg","created_at":"2026-02-20T09:18:42.000000Z","updated_at":"2026-02-20T09:18:42.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":54,"workout_manager_id":4,"category_id":8,"workout_libraries_id":132,"workout_id":132,"member_id":2,"date":"20/02/26 Friday","weight":60.0,"unit_type":"kg","created_at":"2026-02-20T09:26:16.000000Z","updated_at":"2026-02-20T09:26:16.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":55,"workout_manager_id":5,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"20/02/26 Friday","weight":35.0,"unit_type":"kg","created_at":"2026-02-20T09:51:23.000000Z","updated_at":"2026-02-20T09:51:23.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 01:12:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 01:12:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 01:12:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 01:12:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 01:12:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-23 01:12:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-23 01:12:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 01:12:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-02-23 01:12:54] local.WARNING: [getWorkouts] No workout assignments found {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 01:14:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 01:14:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 01:14:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 01:14:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 01:14:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-23 01:14:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-23 01:14:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 01:14:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-02-23 01:14:21] local.WARNING: [getWorkouts] No workout assignments found {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 01:31:22] local.INFO: Tab value: all  
[2026-02-23 01:31:22] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 01:33:28] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 01:33:28] local.INFO: Tab value: all  
[2026-02-23 01:33:28] local.INFO: Saved type row strength  
[2026-02-23 01:33:28] local.INFO: Saved type row strength  
[2026-02-23 01:33:29] local.INFO: Saved type row strength  
[2026-02-23 01:36:40] local.INFO: AMRAP row processing {"managerId":10,"index":"1","exercise":"Goblet Squat","workout_library_id":62} 
[2026-02-23 01:36:40] local.INFO: Saved AMRAP row 1  
[2026-02-23 01:36:40] local.INFO: AMRAP row processing {"managerId":10,"index":"2","exercise":"Ring row","workout_library_id":35} 
[2026-02-23 01:36:40] local.INFO: Saved AMRAP row 2  
[2026-02-23 01:36:40] local.INFO: AMRAP row processing {"managerId":10,"index":"3","exercise":"Rower (distance)","workout_library_id":98} 
[2026-02-23 01:36:40] local.INFO: Saved AMRAP row 3  
[2026-02-23 01:36:40] local.INFO: AMRAP row processing {"managerId":10,"index":"4","exercise":"Box jump","workout_library_id":103} 
[2026-02-23 01:36:40] local.INFO: Saved AMRAP row 4  
[2026-02-23 01:36:43] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 01:36:43] local.INFO: Tab value: all  
[2026-02-23 01:36:43] local.INFO: Saved type row conditioning  
[2026-02-23 01:36:43] local.INFO: Saved type row strength  
[2026-02-23 01:36:43] local.INFO: Saved type row conditioning  
[2026-02-23 01:36:43] local.INFO: Saved type row strength  
[2026-02-23 01:36:44] local.INFO: Saved type row conditioning  
[2026-02-23 01:36:44] local.INFO: Saved type row strength  
[2026-02-23 01:36:47] local.INFO: assignWorkoutToClass:  {"workout_id":10,"class_id":"all","type":"workout_manager","action":"assign_all","date":"23/02/26 Monday"} 
[2026-02-23 01:36:47] local.ERROR: Illuminate\Log\LogManager::info(): Argument #2 ($context) must be of type array, string given, called in /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 {"userId":1,"exception":"[object] (TypeError(code: 0): Illuminate\\Log\\LogManager::info(): Argument #2 ($context) must be of type array, string given, called in /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:720)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(355): Illuminate\\Log\\LogManager->info('Workout assigne...', 'workout_manager')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1082): Illuminate\\Support\\Facades\\Facade::__callStatic('info', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#50 {main}
"} 
[2026-02-23 01:36:59] local.INFO: assignWorkoutToClass:  {"workout_id":9,"class_id":252,"type":"workout_manager","action":"assign","date":"23/02/26 Monday"} 
[2026-02-23 01:36:59] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 01:36:59] local.INFO: Saved type row conditioning  
[2026-02-23 01:36:59] local.INFO: Saved type row strength  
[2026-02-23 01:37:02] local.INFO: assignWorkoutToClass:  {"workout_id":10,"class_id":252,"type":"workout_manager","action":"assign","date":"23/02/26 Monday"} 
[2026-02-23 01:37:02] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 01:37:02] local.INFO: Saved type row conditioning  
[2026-02-23 01:37:02] local.INFO: Saved type row strength  
[2026-02-23 01:37:06] local.INFO: assignWorkoutToClass:  {"workout_id":10,"class_id":"all","type":"workout_manager","action":"unassign","date":"23/02/26 Monday"} 
[2026-02-23 01:37:06] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 01:37:06] local.INFO: Saved type row conditioning  
[2026-02-23 01:37:06] local.INFO: Saved type row strength  
[2026-02-23 01:37:09] local.INFO: assignWorkoutToClass:  {"workout_id":10,"class_id":252,"type":"workout_manager","action":"assign","date":"23/02/26 Monday"} 
[2026-02-23 01:37:09] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 01:37:09] local.INFO: Saved type row conditioning  
[2026-02-23 01:37:09] local.INFO: Saved type row strength  
[2026-02-23 02:09:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 02:09:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 02:09:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 02:09:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 02:09:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-23 02:09:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-23 02:09:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 02:09:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-02-23 02:09:04] local.WARNING: [getWorkouts] No workout assignments found {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 02:09:31] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-02-23 02:10:09] local.INFO: Debug record {"daily_id":56,"format_type":"straight-sets","format_id":3,"library_id":21,"type":"Strength","weight":"5.25"} 
[2026-02-23 02:10:09] local.INFO: Debug record {"daily_id":55,"format_type":"straight-sets","format_id":2,"library_id":21,"type":"Strength","weight":"4.5"} 
[2026-02-23 02:10:09] local.INFO: Debug record {"daily_id":54,"format_type":"straight-sets","format_id":1,"library_id":21,"type":"Strength","weight":"3.75"} 
[2026-02-23 02:10:09] local.INFO: Debug record {"daily_id":29,"format_type":"amrap","format_id":1,"library_id":21,"type":"Weightlifting","weight":"5.25"} 
[2026-02-23 02:29:37] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 02:29:37] local.INFO: Tab value: all  
[2026-02-23 02:29:37] local.INFO: Saved type row conditioning  
[2026-02-23 02:29:37] local.INFO: Saved type row strength  
[2026-02-23 02:29:38] local.INFO: Saved type row conditioning  
[2026-02-23 02:29:38] local.INFO: Saved type row strength  
[2026-02-23 02:29:38] local.INFO: Saved type row conditioning  
[2026-02-23 02:29:38] local.INFO: Saved type row strength  
[2026-02-23 03:52:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:52:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:52:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:52:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:52:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-23 03:52:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-23 03:52:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:52:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-02-23 03:52:25] local.WARNING: [getWorkouts] No workout assignments found {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:52:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:52:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:52:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:52:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:52:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-23 03:52:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-23 03:52:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:52:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-02-23 03:52:54] local.WARNING: [getWorkouts] No workout assignments found {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:53:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:53:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:53:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:53:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:53:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-23 03:53:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-23 03:53:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:53:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-02-23 03:53:13] local.WARNING: [getWorkouts] No workout assignments found {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:53:55] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 03:53:55] local.INFO: Tab value: all  
[2026-02-23 03:53:55] local.INFO: Saved type row conditioning  
[2026-02-23 03:53:55] local.INFO: Saved type row strength  
[2026-02-23 03:53:55] local.INFO: Saved type row conditioning  
[2026-02-23 03:53:55] local.INFO: Saved type row strength  
[2026-02-23 03:53:56] local.INFO: Saved type row conditioning  
[2026-02-23 03:53:56] local.INFO: Saved type row strength  
[2026-02-23 03:54:05] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 03:54:05] local.INFO: Tab value: all  
[2026-02-23 03:54:06] local.INFO: Saved type row conditioning  
[2026-02-23 03:54:06] local.INFO: Saved type row strength  
[2026-02-23 03:54:06] local.INFO: Saved type row conditioning  
[2026-02-23 03:54:06] local.INFO: Saved type row strength  
[2026-02-23 03:54:06] local.INFO: Saved type row conditioning  
[2026-02-23 03:54:06] local.INFO: Saved type row strength  
[2026-02-23 03:54:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[]} 
[2026-02-23 03:54:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:54:31] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:54:31] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:54:31] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[]} 
[2026-02-23 03:56:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:56:23] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:56:23] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:56:23] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-02-23 03:56:43] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-02-23 03:56:56] local.INFO: Debug record {"daily_id":56,"format_type":"straight-sets","format_id":3,"library_id":21,"type":"Strength","weight":"5.25"} 
[2026-02-23 03:56:56] local.INFO: Debug record {"daily_id":55,"format_type":"straight-sets","format_id":2,"library_id":21,"type":"Strength","weight":"4.5"} 
[2026-02-23 03:56:56] local.INFO: Debug record {"daily_id":54,"format_type":"straight-sets","format_id":1,"library_id":21,"type":"Strength","weight":"3.75"} 
[2026-02-23 03:56:56] local.INFO: Debug record {"daily_id":29,"format_type":"amrap","format_id":1,"library_id":21,"type":"Weightlifting","weight":"5.25"} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[56]} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"}}} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16]} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16]} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16]} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16]} 
[2026-02-23 03:57:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:57:07] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:57:07] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:57:07] local.INFO: Tests retrieved {"count":1,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[56]} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"}}} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16]} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16]} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16]} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16]} 
[2026-02-23 03:57:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:57:18] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:57:18] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:57:18] local.INFO: Tests retrieved {"count":1,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:57:38] local.INFO: storestrengthdaily function called.  
[2026-02-23 03:57:38] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-02-23 03:57:38] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":7,"reps":2,"weight":0,"date":"23/02/26 Monday","set_number":1},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":8,"reps":2,"weight":0,"date":"23/02/26 Monday","set_number":2},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":9,"reps":2,"weight":0,"date":"23/02/26 Monday","set_number":3},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":10,"reps":2,"weight":0,"date":"23/02/26 Monday","set_number":4},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":11,"reps":5,"weight":0,"date":"23/02/26 Monday","set_number":1},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":12,"reps":5,"weight":0,"date":"23/02/26 Monday","set_number":2},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":13,"reps":5,"weight":0,"date":"23/02/26 Monday","set_number":3},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":14,"reps":5,"weight":0,"date":"23/02/26 Monday","set_number":4}]} 
[2026-02-23 03:57:38] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-23 03:57:38] local.INFO: New strength record created {"workout_manager_id":9,"set_number":1} 
[2026-02-23 03:57:38] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-23 03:57:38] local.INFO: New strength record created {"workout_manager_id":9,"set_number":2} 
[2026-02-23 03:57:38] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-23 03:57:38] local.INFO: New strength record created {"workout_manager_id":9,"set_number":3} 
[2026-02-23 03:57:38] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-23 03:57:38] local.INFO: New strength record created {"workout_manager_id":9,"set_number":4} 
[2026-02-23 03:57:38] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-23 03:57:38] local.INFO: New strength record created {"workout_manager_id":9,"set_number":1} 
[2026-02-23 03:57:38] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-23 03:57:38] local.INFO: New strength record created {"workout_manager_id":9,"set_number":2} 
[2026-02-23 03:57:38] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-23 03:57:38] local.INFO: New strength record created {"workout_manager_id":9,"set_number":3} 
[2026-02-23 03:57:38] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-23 03:57:38] local.INFO: New strength record created {"workout_manager_id":9,"set_number":4} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[56]} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"}}} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16]} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16]} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16]} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16]} 
[2026-02-23 03:57:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:57:38] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:57:38] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:57:38] local.INFO: Tests retrieved {"count":1,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[56]} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"}}} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16]} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16]} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16]} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16]} 
[2026-02-23 03:57:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:57:52] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:57:52] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:57:52] local.INFO: Tests retrieved {"count":1,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[56]} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"}}} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16]} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16]} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16]} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16]} 
[2026-02-23 03:57:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:57:56] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:57:56] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:57:56] local.INFO: Tests retrieved {"count":1,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[56]} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"}}} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16]} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16]} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16]} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16]} 
[2026-02-23 03:57:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:57:59] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:57:59] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:57:59] local.INFO: Tests retrieved {"count":1,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[56]} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"}}} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16]} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16]} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16]} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16]} 
[2026-02-23 03:58:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:58:06] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:06] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:06] local.INFO: Tests retrieved {"count":1,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[56]} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"}}} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16]} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16]} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16]} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16]} 
[2026-02-23 03:58:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:58:10] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:10] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:10] local.INFO: Tests retrieved {"count":1,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:58:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:58:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:58:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[56]} 
[2026-02-23 03:58:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"}}} 
[2026-02-23 03:58:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:58:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:58:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:58:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-02-23 03:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-02-23 03:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16]} 
[2026-02-23 03:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16]} 
[2026-02-23 03:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16]} 
[2026-02-23 03:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16]} 
[2026-02-23 03:58:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:58:14] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:14] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:14] local.INFO: Tests retrieved {"count":1,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,17],"test_ids":[56,57]} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"},"17":{"test_id":57,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":57,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":57,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:58:32] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:32] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:32] local.INFO: Tests retrieved {"count":2,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17],"test_ids":[56,57,58]} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:58:33] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:33] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:33] local.INFO: Tests retrieved {"count":3,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17],"test_ids":[56,57,58]} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:58:36] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:36] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:36] local.INFO: Tests retrieved {"count":3,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17],"test_ids":[56,57,58]} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:58:43] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:43] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:43] local.INFO: Tests retrieved {"count":3,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17],"test_ids":[56,57,58]} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:58:45] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:45] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:45] local.INFO: Tests retrieved {"count":3,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17],"test_ids":[56,57,58]} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:58:47] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:47] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:47] local.INFO: Tests retrieved {"count":3,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17],"test_ids":[56,57,58]} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 03:58:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:58:56] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:56] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:58:56] local.INFO: Tests retrieved {"count":3,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17],"test_ids":[56,57,58]} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 03:59:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:59:00] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:59:00] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:59:00] local.INFO: Tests retrieved {"count":3,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17],"test_ids":[56,57,58]} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 03:59:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:59:07] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:59:07] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:59:07] local.INFO: Tests retrieved {"count":3,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 03:59:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:59:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":103,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:59:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17],"test_ids":[56,57,58]} 
[2026-02-23 03:59:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 03:59:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-02-23 03:59:13] local.WARNING: [getWorkouts] No workout assignments found {"class_id":103,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17],"test_ids":[56,57,58]} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":56,"weight":50.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:57:07"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":56,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":56,"test_created_at":"2026-02-23 03:57:07","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 03:59:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 03:59:24] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 03:59:24] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 03:59:24] local.INFO: Tests retrieved {"count":3,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17],"test_ids":[56,57,58,59]} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 04:00:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 04:00:23] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 04:00:23] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 04:00:23] local.INFO: Tests retrieved {"count":4,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17],"test_ids":[56,57,58,59]} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 04:00:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 04:00:28] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 04:00:28] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 04:00:28] local.INFO: Tests retrieved {"count":4,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17],"test_ids":[56,57,58,59]} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 04:00:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 04:00:41] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 04:00:41] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 04:00:41] local.INFO: Tests retrieved {"count":4,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17],"test_ids":[56,57,58,59]} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[9,10],"types":["strength","conditioning"]} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[9,10]} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 04:02:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 04:02:09] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 04:02:09] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 04:02:09] local.INFO: Tests retrieved {"count":4,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 04:03:31] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 04:03:31] local.INFO: Tab value: all  
[2026-02-23 04:03:32] local.INFO: Saved type row strength  
[2026-02-23 04:03:32] local.INFO: Saved type row pr's  
[2026-02-23 04:03:32] local.INFO: Saved type row pr's  
[2026-02-23 04:03:32] local.INFO: Saved type row pr's  
[2026-02-23 04:03:32] local.INFO: Saved type row pr's  
[2026-02-23 04:03:32] local.INFO: Saved type row conditioning  
[2026-02-23 04:03:32] local.INFO: Saved type row strength  
[2026-02-23 04:03:32] local.INFO: Saved type row strength  
[2026-02-23 04:03:32] local.INFO: Saved type row pr's  
[2026-02-23 04:03:32] local.INFO: Saved type row pr's  
[2026-02-23 04:03:32] local.INFO: Saved type row pr's  
[2026-02-23 04:03:32] local.INFO: Saved type row pr's  
[2026-02-23 04:03:32] local.INFO: Saved type row conditioning  
[2026-02-23 04:03:32] local.INFO: Saved type row strength  
[2026-02-23 04:03:33] local.INFO: Saved type row strength  
[2026-02-23 04:03:33] local.INFO: Saved type row pr's  
[2026-02-23 04:03:33] local.INFO: Saved type row pr's  
[2026-02-23 04:03:33] local.INFO: Saved type row pr's  
[2026-02-23 04:03:33] local.INFO: Saved type row pr's  
[2026-02-23 04:03:33] local.INFO: Saved type row conditioning  
[2026-02-23 04:03:33] local.INFO: Saved type row strength  
[2026-02-23 04:04:10] local.INFO: assignWorkoutToClass:  {"workout_id":15,"class_id":252,"type":"workout_manager","action":"assign","date":"23/02/26 Monday"} 
[2026-02-23 04:04:10] local.INFO: Saved type row strength  
[2026-02-23 04:04:10] local.INFO: Saved type row pr's  
[2026-02-23 04:04:10] local.INFO: Saved type row pr's  
[2026-02-23 04:04:10] local.INFO: Saved type row pr's  
[2026-02-23 04:04:10] local.INFO: Saved type row pr's  
[2026-02-23 04:04:10] local.INFO: Saved type row conditioning  
[2026-02-23 04:04:10] local.INFO: Saved type row strength  
[2026-02-23 04:04:10] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17],"test_ids":[56,57,58,59]} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[15,9,10],"types":["strength","conditioning"]} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[15,9,10]} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[9,10,15],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap","rounds"]} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":15,"relation":"rounds","format_row_id":2,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":15,"workout_libraries_id":16,"training_load":70,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:03:28.000000Z","updated_at":"2026-02-23T04:03:28.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":2,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":15,"relation":"rounds","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":15,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:03:28.000000Z","updated_at":"2026-02-23T04:03:28.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:04:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":4,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":2,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-23 04:04:15] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 04:04:15] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 04:04:15] local.INFO: Tests retrieved {"count":4,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 04:04:51] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 04:04:51] local.INFO: Tab value: all  
[2026-02-23 04:04:52] local.INFO: Saved type row strength  
[2026-02-23 04:04:52] local.INFO: Saved type row strength  
[2026-02-23 04:04:52] local.INFO: Saved type row pr's  
[2026-02-23 04:04:52] local.INFO: Saved type row pr's  
[2026-02-23 04:04:52] local.INFO: Saved type row pr's  
[2026-02-23 04:04:52] local.INFO: Saved type row pr's  
[2026-02-23 04:04:52] local.INFO: Saved type row conditioning  
[2026-02-23 04:04:52] local.INFO: Saved type row strength  
[2026-02-23 04:04:52] local.INFO: Saved type row strength  
[2026-02-23 04:04:52] local.INFO: Saved type row strength  
[2026-02-23 04:04:52] local.INFO: Saved type row pr's  
[2026-02-23 04:04:52] local.INFO: Saved type row pr's  
[2026-02-23 04:04:52] local.INFO: Saved type row pr's  
[2026-02-23 04:04:52] local.INFO: Saved type row pr's  
[2026-02-23 04:04:52] local.INFO: Saved type row conditioning  
[2026-02-23 04:04:52] local.INFO: Saved type row strength  
[2026-02-23 04:04:52] local.INFO: Saved type row strength  
[2026-02-23 04:04:52] local.INFO: Saved type row strength  
[2026-02-23 04:04:52] local.INFO: Saved type row pr's  
[2026-02-23 04:04:52] local.INFO: Saved type row pr's  
[2026-02-23 04:04:52] local.INFO: Saved type row pr's  
[2026-02-23 04:04:52] local.INFO: Saved type row pr's  
[2026-02-23 04:04:52] local.INFO: Saved type row conditioning  
[2026-02-23 04:04:52] local.INFO: Saved type row strength  
[2026-02-23 04:04:54] local.INFO: assignWorkoutToClass:  {"workout_id":16,"class_id":252,"type":"workout_manager","action":"assign","date":"23/02/26 Monday"} 
[2026-02-23 04:04:55] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 04:04:55] local.INFO: Saved type row strength  
[2026-02-23 04:04:55] local.INFO: Saved type row strength  
[2026-02-23 04:04:55] local.INFO: Saved type row pr's  
[2026-02-23 04:04:55] local.INFO: Saved type row pr's  
[2026-02-23 04:04:55] local.INFO: Saved type row pr's  
[2026-02-23 04:04:55] local.INFO: Saved type row pr's  
[2026-02-23 04:04:55] local.INFO: Saved type row conditioning  
[2026-02-23 04:04:55] local.INFO: Saved type row strength  
[2026-02-23 04:04:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17],"test_ids":[56,57,58,59]} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[15,9,10,16],"types":["strength","conditioning"]} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[15,9,10,16]} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[9,10,15,16],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap","rounds"]} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":15,"relation":"rounds","format_row_id":2,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":15,"workout_libraries_id":16,"training_load":70,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:03:28.000000Z","updated_at":"2026-02-23T04:03:28.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":2,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":15,"relation":"rounds","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":15,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:03:28.000000Z","updated_at":"2026-02-23T04:03:28.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":16,"relation":"rounds","format_row_id":4,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 04:04:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":4,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":2,"not_matched":1,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-02-23 04:04:59] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 04:04:59] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 04:04:59] local.INFO: Tests retrieved {"count":4,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 04:05:10] local.INFO: storestrengthdaily function called.  
[2026-02-23 04:05:10] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-02-23 04:05:10] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":7,"reps":2,"weight":9,"date":"23/02/26 Monday","set_number":1},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":8,"reps":2,"weight":10.25,"date":"23/02/26 Monday","set_number":2},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":9,"reps":2,"weight":11.5,"date":"23/02/26 Monday","set_number":3},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":10,"reps":2,"weight":12.75,"date":"23/02/26 Monday","set_number":4},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":11,"reps":5,"weight":0,"date":"23/02/26 Monday","set_number":1},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":12,"reps":5,"weight":0,"date":"23/02/26 Monday","set_number":2},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":13,"reps":5,"weight":0,"date":"23/02/26 Monday","set_number":3},{"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":14,"reps":5,"weight":0,"date":"23/02/26 Monday","set_number":4},{"workout_manager_id":15,"workout_format_type":"rounds","workout_format_id":2,"reps":2,"weight":9.25,"date":"23/02/26 Monday","set_number":1},{"workout_manager_id":15,"workout_format_type":"rounds","workout_format_id":3,"reps":2,"weight":8.75,"date":"23/02/26 Monday","set_number":1},{"workout_manager_id":16,"workout_format_type":"rounds","workout_format_id":4,"reps":2,"weight":0,"date":"23/02/26 Monday","set_number":1}]} 
[2026-02-23 04:05:10] local.INFO: Existing strength record: {"dailyStrength":{"id":60,"member_id":2,"strength_id":null,"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":7,"type":"Primary","reps":2,"weight":"0","date":"23/02/26 Monday","created_at":"2026-02-23T03:57:38.000000Z","updated_at":"2026-02-23T03:57:38.000000Z","set_number":1}} 
[2026-02-23 04:05:10] local.INFO: Strength updated {"workout_manager_id":9,"set_number":1} 
[2026-02-23 04:05:10] local.INFO: Existing strength record: {"dailyStrength":{"id":61,"member_id":2,"strength_id":null,"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":8,"type":"Primary","reps":2,"weight":"0","date":"23/02/26 Monday","created_at":"2026-02-23T03:57:38.000000Z","updated_at":"2026-02-23T03:57:38.000000Z","set_number":2}} 
[2026-02-23 04:05:10] local.INFO: Strength updated {"workout_manager_id":9,"set_number":2} 
[2026-02-23 04:05:10] local.INFO: Existing strength record: {"dailyStrength":{"id":62,"member_id":2,"strength_id":null,"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":9,"type":"Primary","reps":2,"weight":"0","date":"23/02/26 Monday","created_at":"2026-02-23T03:57:38.000000Z","updated_at":"2026-02-23T03:57:38.000000Z","set_number":3}} 
[2026-02-23 04:05:10] local.INFO: Strength updated {"workout_manager_id":9,"set_number":3} 
[2026-02-23 04:05:10] local.INFO: Existing strength record: {"dailyStrength":{"id":63,"member_id":2,"strength_id":null,"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":10,"type":"Primary","reps":2,"weight":"0","date":"23/02/26 Monday","created_at":"2026-02-23T03:57:38.000000Z","updated_at":"2026-02-23T03:57:38.000000Z","set_number":4}} 
[2026-02-23 04:05:10] local.INFO: Strength updated {"workout_manager_id":9,"set_number":4} 
[2026-02-23 04:05:10] local.INFO: Existing strength record: {"dailyStrength":{"id":64,"member_id":2,"strength_id":null,"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":11,"type":"Primary","reps":5,"weight":"0","date":"23/02/26 Monday","created_at":"2026-02-23T03:57:38.000000Z","updated_at":"2026-02-23T03:57:38.000000Z","set_number":1}} 
[2026-02-23 04:05:10] local.INFO: Strength updated {"workout_manager_id":9,"set_number":1} 
[2026-02-23 04:05:10] local.INFO: Existing strength record: {"dailyStrength":{"id":65,"member_id":2,"strength_id":null,"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":12,"type":"Primary","reps":5,"weight":"0","date":"23/02/26 Monday","created_at":"2026-02-23T03:57:38.000000Z","updated_at":"2026-02-23T03:57:38.000000Z","set_number":2}} 
[2026-02-23 04:05:10] local.INFO: Strength updated {"workout_manager_id":9,"set_number":2} 
[2026-02-23 04:05:10] local.INFO: Existing strength record: {"dailyStrength":{"id":66,"member_id":2,"strength_id":null,"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":13,"type":"Primary","reps":5,"weight":"0","date":"23/02/26 Monday","created_at":"2026-02-23T03:57:38.000000Z","updated_at":"2026-02-23T03:57:38.000000Z","set_number":3}} 
[2026-02-23 04:05:10] local.INFO: Strength updated {"workout_manager_id":9,"set_number":3} 
[2026-02-23 04:05:10] local.INFO: Existing strength record: {"dailyStrength":{"id":67,"member_id":2,"strength_id":null,"workout_manager_id":9,"workout_format_type":"straight-sets","workout_format_id":14,"type":"Primary","reps":5,"weight":"0","date":"23/02/26 Monday","created_at":"2026-02-23T03:57:38.000000Z","updated_at":"2026-02-23T03:57:38.000000Z","set_number":4}} 
[2026-02-23 04:05:10] local.INFO: Strength updated {"workout_manager_id":9,"set_number":4} 
[2026-02-23 04:05:10] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-23 04:05:10] local.INFO: New strength record created {"workout_manager_id":15,"set_number":1} 
[2026-02-23 04:05:10] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-23 04:05:10] local.INFO: New strength record created {"workout_manager_id":15,"set_number":1} 
[2026-02-23 04:05:10] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-23 04:05:10] local.INFO: New strength record created {"workout_manager_id":16,"set_number":1} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17],"test_ids":[56,57,58,59]} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"}}} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[15,9,10,16],"types":["strength","conditioning"]} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[15,9,10,16]} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[9,10,15,16],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap","rounds"]} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17]} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17]} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17]} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":15,"relation":"rounds","format_row_id":2,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":15,"workout_libraries_id":16,"training_load":70,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:03:28.000000Z","updated_at":"2026-02-23T04:03:28.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":2,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":15,"relation":"rounds","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":15,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:03:28.000000Z","updated_at":"2026-02-23T04:03:28.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":16,"relation":"rounds","format_row_id":4,"workout_libraries_id":35,"available_test_library_ids":[16,17]} 
[2026-02-23 04:05:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":4,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":2,"not_matched":1,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-02-23 04:05:10] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 04:05:10] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 04:05:11] local.INFO: Tests retrieved {"count":4,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[16,17,35],"test_ids":[56,57,58,59,60]} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,35],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[15,9,10,16],"types":["strength","conditioning"]} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[15,9,10,16]} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[9,10,15,16],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap","rounds"]} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,35]} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17,35]} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"attached_test_id":60,"attached_test_weight":20.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":10,"workout_libraries_id":35,"training_load":null,"unit_type":"BW","gender":null,"reps":8,"created_at":"2026-02-23T01:36:40.000000Z","updated_at":"2026-02-23T01:36:40.000000Z","test_weight":20.0,"test_unit_type":"kg","test_id":60,"test_created_at":"2026-02-23 04:05:31","format_row_id":3,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17,35]} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17,35]} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":15,"relation":"rounds","format_row_id":2,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":15,"workout_libraries_id":16,"training_load":70,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:03:28.000000Z","updated_at":"2026-02-23T04:03:28.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":2,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":15,"relation":"rounds","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":15,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:03:28.000000Z","updated_at":"2026-02-23T04:03:28.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":16,"relation":"rounds","format_row_id":4,"workout_libraries_id":35,"attached_test_id":60,"attached_test_weight":20.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":16,"workout_libraries_id":35,"training_load":70,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:04:49.000000Z","updated_at":"2026-02-23T04:04:49.000000Z","test_weight":20.0,"test_unit_type":"kg","test_id":60,"test_created_at":"2026-02-23 04:05:31","format_row_id":4,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:05:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":6,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":3,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":1,"not_matched":3,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-02-23 04:05:31] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 04:05:31] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 04:05:31] local.INFO: Tests retrieved {"count":5,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[16,17,35],"test_ids":[56,57,58,59,60]} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,35],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[15,9,10,16],"types":["strength","conditioning"]} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[15,9,10,16]} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[9,10,15,16],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap","rounds"]} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,35]} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17,35]} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"attached_test_id":60,"attached_test_weight":20.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":10,"workout_libraries_id":35,"training_load":null,"unit_type":"BW","gender":null,"reps":8,"created_at":"2026-02-23T01:36:40.000000Z","updated_at":"2026-02-23T01:36:40.000000Z","test_weight":20.0,"test_unit_type":"kg","test_id":60,"test_created_at":"2026-02-23 04:05:31","format_row_id":3,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17,35]} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17,35]} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":15,"relation":"rounds","format_row_id":2,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":15,"workout_libraries_id":16,"training_load":70,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:03:28.000000Z","updated_at":"2026-02-23T04:03:28.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":2,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":15,"relation":"rounds","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":15,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:03:28.000000Z","updated_at":"2026-02-23T04:03:28.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":16,"relation":"rounds","format_row_id":4,"workout_libraries_id":35,"attached_test_id":60,"attached_test_weight":20.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":16,"workout_libraries_id":35,"training_load":70,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:04:49.000000Z","updated_at":"2026-02-23T04:04:49.000000Z","test_weight":20.0,"test_unit_type":"kg","test_id":60,"test_created_at":"2026-02-23 04:05:31","format_row_id":4,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:05:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":6,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":3,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":1,"not_matched":3,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-02-23 04:05:36] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 04:05:36] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 04:05:36] local.INFO: Tests retrieved {"count":5,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 04:06:35] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 04:06:35] local.INFO: Tab value: all  
[2026-02-23 04:06:35] local.INFO: Saved type row strength  
[2026-02-23 04:06:35] local.INFO: Saved type row pr's  
[2026-02-23 04:06:35] local.INFO: Saved type row strength  
[2026-02-23 04:06:35] local.INFO: Saved type row strength  
[2026-02-23 04:06:35] local.INFO: Saved type row pr's  
[2026-02-23 04:06:35] local.INFO: Saved type row pr's  
[2026-02-23 04:06:35] local.INFO: Saved type row pr's  
[2026-02-23 04:06:35] local.INFO: Saved type row pr's  
[2026-02-23 04:06:35] local.INFO: Saved type row conditioning  
[2026-02-23 04:06:35] local.INFO: Saved type row strength  
[2026-02-23 04:06:36] local.INFO: Saved type row strength  
[2026-02-23 04:06:36] local.INFO: Saved type row pr's  
[2026-02-23 04:06:36] local.INFO: Saved type row strength  
[2026-02-23 04:06:36] local.INFO: Saved type row strength  
[2026-02-23 04:06:36] local.INFO: Saved type row pr's  
[2026-02-23 04:06:36] local.INFO: Saved type row pr's  
[2026-02-23 04:06:36] local.INFO: Saved type row pr's  
[2026-02-23 04:06:36] local.INFO: Saved type row pr's  
[2026-02-23 04:06:36] local.INFO: Saved type row conditioning  
[2026-02-23 04:06:36] local.INFO: Saved type row strength  
[2026-02-23 04:06:36] local.INFO: Saved type row strength  
[2026-02-23 04:06:36] local.INFO: Saved type row pr's  
[2026-02-23 04:06:36] local.INFO: Saved type row strength  
[2026-02-23 04:06:36] local.INFO: Saved type row strength  
[2026-02-23 04:06:36] local.INFO: Saved type row pr's  
[2026-02-23 04:06:36] local.INFO: Saved type row pr's  
[2026-02-23 04:06:36] local.INFO: Saved type row pr's  
[2026-02-23 04:06:36] local.INFO: Saved type row pr's  
[2026-02-23 04:06:36] local.INFO: Saved type row conditioning  
[2026-02-23 04:06:36] local.INFO: Saved type row strength  
[2026-02-23 04:06:39] local.INFO: assignWorkoutToClass:  {"workout_id":18,"class_id":252,"type":"workout_manager","action":"assign","date":"23/02/26 Monday"} 
[2026-02-23 04:06:40] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 04:06:40] local.INFO: Saved type row strength  
[2026-02-23 04:06:40] local.INFO: Saved type row pr's  
[2026-02-23 04:06:40] local.INFO: Saved type row strength  
[2026-02-23 04:06:40] local.INFO: Saved type row strength  
[2026-02-23 04:06:40] local.INFO: Saved type row pr's  
[2026-02-23 04:06:40] local.INFO: Saved type row pr's  
[2026-02-23 04:06:40] local.INFO: Saved type row pr's  
[2026-02-23 04:06:40] local.INFO: Saved type row pr's  
[2026-02-23 04:06:40] local.INFO: Saved type row conditioning  
[2026-02-23 04:06:40] local.INFO: Saved type row strength  
[2026-02-23 04:06:45] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[16,17,35],"test_ids":[56,57,58,59,60]} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,35],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[15,9,10,16,18],"types":["strength","conditioning"]} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[15,9,10,16,18]} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[9,10,15,16,18],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap","rounds"]} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,35]} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17,35]} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"attached_test_id":60,"attached_test_weight":20.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":10,"workout_libraries_id":35,"training_load":null,"unit_type":"BW","gender":null,"reps":8,"created_at":"2026-02-23T01:36:40.000000Z","updated_at":"2026-02-23T01:36:40.000000Z","test_weight":20.0,"test_unit_type":"kg","test_id":60,"test_created_at":"2026-02-23 04:05:31","format_row_id":3,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17,35]} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17,35]} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":15,"relation":"rounds","format_row_id":2,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":15,"workout_libraries_id":16,"training_load":70,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:03:28.000000Z","updated_at":"2026-02-23T04:03:28.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":2,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":15,"relation":"rounds","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":15,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:03:28.000000Z","updated_at":"2026-02-23T04:03:28.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":16,"relation":"rounds","format_row_id":4,"workout_libraries_id":35,"attached_test_id":60,"attached_test_weight":20.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":16,"workout_libraries_id":35,"training_load":70,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-02-23T04:04:49.000000Z","updated_at":"2026-02-23T04:04:49.000000Z","test_weight":20.0,"test_unit_type":"kg","test_id":60,"test_created_at":"2026-02-23 04:05:31","format_row_id":4,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":18,"relation":"straights","format_row_id":5,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":5,"workout_manager_id":18,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-02-23T04:06:32.000000Z","updated_at":"2026-02-23T04:06:32.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":5,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":15,"workout_libraries_id":16,"straight_id":5,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:06:32.000000Z","updated_at":"2026-02-23T04:06:32.000000Z"},{"id":16,"workout_libraries_id":16,"straight_id":5,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:06:32.000000Z","updated_at":"2026-02-23T04:06:32.000000Z"}]}} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":18,"relation":"straights","format_row_id":6,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":6,"workout_manager_id":18,"workout_libraries_id":17,"training_load":40,"unit_type":"%","reps":4,"created_at":"2026-02-23T04:06:32.000000Z","updated_at":"2026-02-23T04:06:32.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":6,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":17,"workout_libraries_id":17,"straight_id":6,"res":4,"training_load":40,"unittype":"%","created_at":"2026-02-23T04:06:32.000000Z","updated_at":"2026-02-23T04:06:32.000000Z"},{"id":18,"workout_libraries_id":17,"straight_id":6,"res":4,"training_load":40,"unittype":"%","created_at":"2026-02-23T04:06:32.000000Z","updated_at":"2026-02-23T04:06:32.000000Z"}]}} 
[2026-02-23 04:06:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":8,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":3,"not_matched":0,"empty":3},"amraps":{"seen":4,"matched":1,"not_matched":3,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":4,"matched":4,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-02-23 04:06:45] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 04:06:45] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 04:06:45] local.INFO: Tests retrieved {"count":5,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 04:08:21] local.INFO: Saved type row pr's  
[2026-02-23 04:08:21] local.INFO: Saved type row strength  
[2026-02-23 04:08:21] local.INFO: Saved type row strength  
[2026-02-23 04:08:21] local.INFO: Saved type row pr's  
[2026-02-23 04:08:21] local.INFO: Saved type row pr's  
[2026-02-23 04:08:21] local.INFO: Saved type row pr's  
[2026-02-23 04:08:21] local.INFO: Saved type row pr's  
[2026-02-23 04:08:21] local.INFO: Saved type row conditioning  
[2026-02-23 04:08:21] local.INFO: Saved type row strength  
[2026-02-23 04:08:36] local.INFO: Saved type row strength  
[2026-02-23 04:08:36] local.INFO: Saved type row strength  
[2026-02-23 04:08:36] local.INFO: Saved type row pr's  
[2026-02-23 04:08:36] local.INFO: Saved type row pr's  
[2026-02-23 04:08:36] local.INFO: Saved type row pr's  
[2026-02-23 04:08:36] local.INFO: Saved type row pr's  
[2026-02-23 04:08:36] local.INFO: Saved type row conditioning  
[2026-02-23 04:08:36] local.INFO: Saved type row strength  
[2026-02-23 04:08:39] local.INFO: Saved type row strength  
[2026-02-23 04:08:39] local.INFO: Saved type row pr's  
[2026-02-23 04:08:39] local.INFO: Saved type row pr's  
[2026-02-23 04:08:39] local.INFO: Saved type row pr's  
[2026-02-23 04:08:39] local.INFO: Saved type row pr's  
[2026-02-23 04:08:39] local.INFO: Saved type row conditioning  
[2026-02-23 04:08:39] local.INFO: Saved type row strength  
[2026-02-23 04:08:46] local.INFO: Saved type row pr's  
[2026-02-23 04:08:46] local.INFO: Saved type row pr's  
[2026-02-23 04:08:46] local.INFO: Saved type row pr's  
[2026-02-23 04:08:46] local.INFO: Saved type row pr's  
[2026-02-23 04:08:46] local.INFO: Saved type row conditioning  
[2026-02-23 04:08:46] local.INFO: Saved type row strength  
[2026-02-23 04:08:56] local.INFO: Saved type row pr's  
[2026-02-23 04:08:56] local.INFO: Saved type row pr's  
[2026-02-23 04:08:56] local.INFO: Saved type row pr's  
[2026-02-23 04:08:56] local.INFO: Saved type row conditioning  
[2026-02-23 04:08:56] local.INFO: Saved type row strength  
[2026-02-23 04:08:59] local.INFO: Saved type row pr's  
[2026-02-23 04:08:59] local.INFO: Saved type row pr's  
[2026-02-23 04:08:59] local.INFO: Saved type row conditioning  
[2026-02-23 04:08:59] local.INFO: Saved type row strength  
[2026-02-23 04:09:02] local.INFO: Saved type row pr's  
[2026-02-23 04:09:02] local.INFO: Saved type row conditioning  
[2026-02-23 04:09:02] local.INFO: Saved type row strength  
[2026-02-23 04:09:06] local.INFO: Saved type row conditioning  
[2026-02-23 04:09:06] local.INFO: Saved type row strength  
[2026-02-23 04:56:46] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 04:56:46] local.INFO: Tab value: all  
[2026-02-23 04:56:46] local.INFO: Saved type row conditioning  
[2026-02-23 04:56:46] local.INFO: Saved type row strength  
[2026-02-23 04:56:46] local.INFO: Saved type row conditioning  
[2026-02-23 04:56:46] local.INFO: Saved type row strength  
[2026-02-23 04:56:47] local.INFO: Saved type row conditioning  
[2026-02-23 04:56:47] local.INFO: Saved type row strength  
[2026-02-23 04:57:25] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 04:57:25] local.INFO: Tab value: all  
[2026-02-23 04:57:26] local.INFO: Saved type row strength  
[2026-02-23 04:57:26] local.INFO: Saved type row conditioning  
[2026-02-23 04:57:26] local.INFO: Saved type row strength  
[2026-02-23 04:57:26] local.INFO: Saved type row strength  
[2026-02-23 04:57:26] local.INFO: Saved type row conditioning  
[2026-02-23 04:57:26] local.INFO: Saved type row strength  
[2026-02-23 04:57:26] local.INFO: Saved type row strength  
[2026-02-23 04:57:26] local.INFO: Saved type row conditioning  
[2026-02-23 04:57:26] local.INFO: Saved type row strength  
[2026-02-23 04:57:31] local.INFO: assignWorkoutToClass:  {"workout_id":19,"class_id":252,"type":"workout_manager","action":"assign","date":"23/02/26 Monday"} 
[2026-02-23 04:57:31] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 04:57:31] local.INFO: Saved type row strength  
[2026-02-23 04:57:31] local.INFO: Saved type row conditioning  
[2026-02-23 04:57:31] local.INFO: Saved type row strength  
[2026-02-23 04:58:05] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 04:58:05] local.INFO: Tab value: all  
[2026-02-23 04:58:05] local.INFO: Saved type row strength  
[2026-02-23 04:58:05] local.INFO: Saved type row conditioning  
[2026-02-23 04:58:05] local.INFO: Saved type row strength  
[2026-02-23 04:58:05] local.INFO: Saved type row strength  
[2026-02-23 04:58:05] local.INFO: Saved type row conditioning  
[2026-02-23 04:58:05] local.INFO: Saved type row strength  
[2026-02-23 04:58:06] local.INFO: Saved type row strength  
[2026-02-23 04:58:06] local.INFO: Saved type row conditioning  
[2026-02-23 04:58:06] local.INFO: Saved type row strength  
[2026-02-23 04:58:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[16,17,35],"test_ids":[56,57,58,59,60]} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,35],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[15,9,10,16,18,19],"types":["strength","conditioning"]} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[15,9,10,16,18,19]} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[9,10,19],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,35]} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17,35]} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"attached_test_id":60,"attached_test_weight":20.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":10,"workout_libraries_id":35,"training_load":null,"unit_type":"BW","gender":null,"reps":8,"created_at":"2026-02-23T01:36:40.000000Z","updated_at":"2026-02-23T01:36:40.000000Z","test_weight":20.0,"test_unit_type":"kg","test_id":60,"test_created_at":"2026-02-23 04:05:31","format_row_id":3,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17,35]} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17,35]} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":19,"relation":"straights","format_row_id":8,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":19,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":8,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":24,"workout_libraries_id":16,"straight_id":8,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z"},{"id":25,"workout_libraries_id":16,"straight_id":8,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z"},{"id":26,"workout_libraries_id":16,"straight_id":8,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z"},{"id":27,"workout_libraries_id":16,"straight_id":8,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z"}]}} 
[2026-02-23 04:58:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":4,"matched":1,"not_matched":3,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-23 04:58:10] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 04:58:10] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 04:58:10] local.INFO: Tests retrieved {"count":5,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 04:59:51] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 04:59:51] local.INFO: Tab value: all  
[2026-02-23 04:59:51] local.INFO: Saved type row strength  
[2026-02-23 04:59:51] local.INFO: Saved type row strength  
[2026-02-23 04:59:51] local.INFO: Saved type row conditioning  
[2026-02-23 04:59:51] local.INFO: Saved type row strength  
[2026-02-23 04:59:51] local.INFO: Saved type row strength  
[2026-02-23 04:59:51] local.INFO: Saved type row strength  
[2026-02-23 04:59:51] local.INFO: Saved type row conditioning  
[2026-02-23 04:59:51] local.INFO: Saved type row strength  
[2026-02-23 04:59:52] local.INFO: Saved type row strength  
[2026-02-23 04:59:52] local.INFO: Saved type row strength  
[2026-02-23 04:59:52] local.INFO: Saved type row conditioning  
[2026-02-23 04:59:52] local.INFO: Saved type row strength  
[2026-02-23 04:59:54] local.INFO: assignWorkoutToClass:  {"workout_id":20,"class_id":252,"type":"workout_manager","action":"assign","date":"23/02/26 Monday"} 
[2026-02-23 04:59:54] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 04:59:54] local.INFO: Saved type row strength  
[2026-02-23 04:59:54] local.INFO: Saved type row strength  
[2026-02-23 04:59:54] local.INFO: Saved type row conditioning  
[2026-02-23 04:59:54] local.INFO: Saved type row strength  
[2026-02-23 05:00:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[16,17,35],"test_ids":[56,57,58,59,60]} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,35],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[15,9,10,16,18,19,20],"types":["strength","conditioning"]} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[15,9,10,16,18,19,20]} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[9,10,19,20],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,35]} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":3,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":3,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":7,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":8,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":9,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":10,"workout_libraries_id":17,"straight_id":3,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":4,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":9,"workout_libraries_id":16,"training_load":null,"unit_type":"%","reps":5,"created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":4,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":11,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":12,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":13,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"},{"id":14,"workout_libraries_id":16,"straight_id":4,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T01:33:24.000000Z","updated_at":"2026-02-23T01:33:24.000000Z"}]}} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17,35]} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"attached_test_id":60,"attached_test_weight":20.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":10,"workout_libraries_id":35,"training_load":null,"unit_type":"BW","gender":null,"reps":8,"created_at":"2026-02-23T01:36:40.000000Z","updated_at":"2026-02-23T01:36:40.000000Z","test_weight":20.0,"test_unit_type":"kg","test_id":60,"test_created_at":"2026-02-23 04:05:31","format_row_id":3,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17,35]} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17,35]} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":19,"relation":"straights","format_row_id":8,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":19,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":8,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":24,"workout_libraries_id":16,"straight_id":8,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z"},{"id":25,"workout_libraries_id":16,"straight_id":8,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z"},{"id":26,"workout_libraries_id":16,"straight_id":8,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z"},{"id":27,"workout_libraries_id":16,"straight_id":8,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z"}]}} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":20,"relation":"straights","format_row_id":9,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":20,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":9,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":28,"workout_libraries_id":16,"straight_id":9,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"},{"id":29,"workout_libraries_id":16,"straight_id":9,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"},{"id":30,"workout_libraries_id":16,"straight_id":9,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"},{"id":31,"workout_libraries_id":16,"straight_id":9,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"}]}} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":20,"relation":"straights","format_row_id":10,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":10,"workout_manager_id":20,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":10,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":32,"workout_libraries_id":17,"straight_id":10,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"},{"id":33,"workout_libraries_id":17,"straight_id":10,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"},{"id":34,"workout_libraries_id":17,"straight_id":10,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"},{"id":35,"workout_libraries_id":17,"straight_id":10,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"}]}} 
[2026-02-23 05:00:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":6,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":4,"matched":1,"not_matched":3,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":5,"matched":5,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-02-23 05:00:00] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 05:00:00] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 05:00:00] local.INFO: Tests retrieved {"count":5,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 05:01:37] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 05:01:37] local.INFO: Tab value: all  
[2026-02-23 05:01:37] local.INFO: Saved type row strength  
[2026-02-23 05:01:37] local.INFO: Saved type row strength  
[2026-02-23 05:01:37] local.INFO: Saved type row conditioning  
[2026-02-23 05:01:37] local.INFO: Saved type row strength  
[2026-02-23 05:01:37] local.INFO: Saved type row strength  
[2026-02-23 05:01:37] local.INFO: Saved type row strength  
[2026-02-23 05:01:37] local.INFO: Saved type row conditioning  
[2026-02-23 05:01:37] local.INFO: Saved type row strength  
[2026-02-23 05:01:38] local.INFO: Saved type row strength  
[2026-02-23 05:01:38] local.INFO: Saved type row strength  
[2026-02-23 05:01:38] local.INFO: Saved type row conditioning  
[2026-02-23 05:01:38] local.INFO: Saved type row strength  
[2026-02-23 05:02:43] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 05:02:43] local.INFO: Tab value: all  
[2026-02-23 05:02:43] local.INFO: Saved type row strength  
[2026-02-23 05:02:43] local.INFO: Saved type row strength  
[2026-02-23 05:02:43] local.INFO: Saved type row conditioning  
[2026-02-23 05:02:43] local.INFO: Saved type row strength  
[2026-02-23 05:02:44] local.INFO: Saved type row strength  
[2026-02-23 05:02:44] local.INFO: Saved type row strength  
[2026-02-23 05:02:44] local.INFO: Saved type row conditioning  
[2026-02-23 05:02:44] local.INFO: Saved type row strength  
[2026-02-23 05:02:44] local.INFO: Saved type row strength  
[2026-02-23 05:02:44] local.INFO: Saved type row strength  
[2026-02-23 05:02:44] local.INFO: Saved type row conditioning  
[2026-02-23 05:02:44] local.INFO: Saved type row strength  
[2026-02-23 05:02:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[16,17,35],"test_ids":[56,57,58,59,60]} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,35],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[15,9,10,16,18,19,20],"types":["strength","conditioning"]} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[15,9,10,16,18,19,20]} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[9,10,19,20],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,35]} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":11,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":11,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":36,"workout_libraries_id":17,"straight_id":11,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"},{"id":37,"workout_libraries_id":17,"straight_id":11,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"},{"id":38,"workout_libraries_id":17,"straight_id":11,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"},{"id":39,"workout_libraries_id":17,"straight_id":11,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"}]}} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":12,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":9,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":12,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":40,"workout_libraries_id":16,"straight_id":12,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"},{"id":41,"workout_libraries_id":16,"straight_id":12,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"},{"id":42,"workout_libraries_id":16,"straight_id":12,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"},{"id":43,"workout_libraries_id":16,"straight_id":12,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"}]}} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[16,17,35]} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"attached_test_id":60,"attached_test_weight":20.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":10,"workout_libraries_id":35,"training_load":null,"unit_type":"BW","gender":null,"reps":8,"created_at":"2026-02-23T01:36:40.000000Z","updated_at":"2026-02-23T01:36:40.000000Z","test_weight":20.0,"test_unit_type":"kg","test_id":60,"test_created_at":"2026-02-23 04:05:31","format_row_id":3,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[16,17,35]} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[16,17,35]} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":19,"relation":"straights","format_row_id":8,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":19,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":8,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":24,"workout_libraries_id":16,"straight_id":8,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z"},{"id":25,"workout_libraries_id":16,"straight_id":8,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z"},{"id":26,"workout_libraries_id":16,"straight_id":8,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z"},{"id":27,"workout_libraries_id":16,"straight_id":8,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:58:02.000000Z","updated_at":"2026-02-23T04:58:02.000000Z"}]}} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":20,"relation":"straights","format_row_id":9,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":20,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":9,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":28,"workout_libraries_id":16,"straight_id":9,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"},{"id":29,"workout_libraries_id":16,"straight_id":9,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"},{"id":30,"workout_libraries_id":16,"straight_id":9,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"},{"id":31,"workout_libraries_id":16,"straight_id":9,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"}]}} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":20,"relation":"straights","format_row_id":10,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":10,"workout_manager_id":20,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":10,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":32,"workout_libraries_id":17,"straight_id":10,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"},{"id":33,"workout_libraries_id":17,"straight_id":10,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"},{"id":34,"workout_libraries_id":17,"straight_id":10,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"},{"id":35,"workout_libraries_id":17,"straight_id":10,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T04:59:48.000000Z","updated_at":"2026-02-23T04:59:48.000000Z"}]}} 
[2026-02-23 05:02:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":6,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":4,"matched":1,"not_matched":3,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":5,"matched":5,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-02-23 05:02:49] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 05:02:49] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 05:02:49] local.INFO: Tests retrieved {"count":5,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 05:03:53] local.INFO: Saved type row strength  
[2026-02-23 05:03:53] local.INFO: Saved type row conditioning  
[2026-02-23 05:03:53] local.INFO: Saved type row strength  
[2026-02-23 05:04:06] local.INFO: Saved type row conditioning  
[2026-02-23 05:04:06] local.INFO: Saved type row strength  
[2026-02-23 06:04:10] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 06:04:10] local.INFO: Tab value: all  
[2026-02-23 06:04:10] local.INFO: Saved type row conditioning  
[2026-02-23 06:04:10] local.INFO: Saved type row strength  
[2026-02-23 06:04:11] local.INFO: Saved type row conditioning  
[2026-02-23 06:04:11] local.INFO: Saved type row strength  
[2026-02-23 06:04:11] local.INFO: Saved type row conditioning  
[2026-02-23 06:04:11] local.INFO: Saved type row strength  
[2026-02-23 06:05:10] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[15,9,10,16,18,19,20],"types":["strength","conditioning"]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[15,9,10,16,18,19,20]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[9,10],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":11,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":9,"relation":"straights","format_row_id":12,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":2,"workout_libraries_id":62,"available_test_library_ids":[]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":3,"workout_libraries_id":35,"available_test_library_ids":[]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":4,"workout_libraries_id":98,"available_test_library_ids":[]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":5,"workout_libraries_id":103,"available_test_library_ids":[]} 
[2026-02-23 06:05:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-02-23 06:05:10] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 06:05:10] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 06:05:10] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-02-23 06:16:15] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-23 06:16:17] local.INFO: AMRAP row processing {"managerId":10,"index":"1","exercise":"Goblet Squat","workout_library_id":62} 
[2026-02-23 06:16:17] local.INFO: Saved AMRAP row 1  
[2026-02-23 06:16:17] local.INFO: AMRAP row processing {"managerId":10,"index":"2","exercise":"Ring row","workout_library_id":35} 
[2026-02-23 06:16:17] local.INFO: Saved AMRAP row 2  
[2026-02-23 06:16:17] local.INFO: AMRAP row processing {"managerId":10,"index":"3","exercise":"Rower (distance)","workout_library_id":98} 
[2026-02-23 06:16:17] local.INFO: Saved AMRAP row 3  
[2026-02-23 06:16:17] local.INFO: AMRAP row processing {"managerId":10,"index":"4","exercise":"Box jump","workout_library_id":103} 
[2026-02-23 06:16:17] local.INFO: Saved AMRAP row 4  
[2026-02-23 06:16:19] local.INFO: Tab value: all  
[2026-02-23 06:16:19] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 06:16:20] local.INFO: Saved type row conditioning  
[2026-02-23 06:16:20] local.INFO: Saved type row strength  
[2026-02-23 06:16:20] local.INFO: Saved type row conditioning  
[2026-02-23 06:16:20] local.INFO: Saved type row strength  
[2026-02-23 06:16:20] local.INFO: Saved type row conditioning  
[2026-02-23 06:16:20] local.INFO: Saved type row strength  
[2026-02-23 07:32:30] local.INFO: Tab value: all  
[2026-02-23 07:32:30] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 07:32:31] local.INFO: Saved type row conditioning  
[2026-02-23 07:32:31] local.INFO: Saved type row strength  
[2026-02-23 07:32:31] local.INFO: Saved type row conditioning  
[2026-02-23 07:32:31] local.INFO: Saved type row strength  
[2026-02-23 07:32:32] local.INFO: Saved type row conditioning  
[2026-02-23 07:32:32] local.INFO: Saved type row strength  
[2026-02-23 07:34:11] local.INFO: AMRAP row processing {"managerId":21,"index":"1","exercise":"Goblet Squat","workout_library_id":62} 
[2026-02-23 07:34:11] local.INFO: Saved AMRAP row 1  
[2026-02-23 07:34:11] local.INFO: AMRAP row processing {"managerId":21,"index":"2","exercise":"Ring row","workout_library_id":35} 
[2026-02-23 07:34:11] local.INFO: Saved AMRAP row 2  
[2026-02-23 07:34:11] local.INFO: AMRAP row processing {"managerId":21,"index":"3","exercise":"Back squat","workout_library_id":17} 
[2026-02-23 07:34:11] local.INFO: Saved AMRAP row 3  
[2026-02-23 07:34:11] local.INFO: AMRAP row processing {"managerId":21,"index":"4","exercise":"Lat pull down","workout_library_id":43} 
[2026-02-23 07:34:11] local.INFO: Saved AMRAP row 4  
[2026-02-23 07:34:15] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 07:34:16] local.INFO: Tab value: all  
[2026-02-23 07:34:16] local.INFO: Saved type row conditioning  
[2026-02-23 07:34:16] local.INFO: Saved type row conditioning  
[2026-02-23 07:34:16] local.INFO: Saved type row strength  
[2026-02-23 07:34:16] local.INFO: Saved type row conditioning  
[2026-02-23 07:34:16] local.INFO: Saved type row conditioning  
[2026-02-23 07:34:16] local.INFO: Saved type row strength  
[2026-02-23 07:34:17] local.INFO: Saved type row conditioning  
[2026-02-23 07:34:17] local.INFO: Saved type row conditioning  
[2026-02-23 07:34:17] local.INFO: Saved type row strength  
[2026-02-23 07:34:19] local.INFO: assignWorkoutToClass:  {"workout_id":21,"class_id":252,"type":"workout_manager","action":"assign","date":"23/02/26 Monday"} 
[2026-02-23 07:34:19] local.INFO: Day received: {"day":"23/02/26 Monday"} 
[2026-02-23 07:34:20] local.INFO: Saved type row conditioning  
[2026-02-23 07:34:20] local.INFO: Saved type row conditioning  
[2026-02-23 07:34:20] local.INFO: Saved type row strength  
[2026-02-23 07:44:44] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/02/26 Monday","date_obj":"2026-02-23"} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":252,"date_string":"23/02/26 Monday","patterns":["23/02/26 Monday","23/02/26","23/02/2026","23/02/26 Monday","23/02/2026 Monday","Monday 23/02/26","Monday 23/02/2026"]} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[16,17,35],"test_ids":[56,57,58,59,60]} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,35],"testMap_sample":{"16":{"test_id":59,"weight":66.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:00:23"},"17":{"test_id":58,"weight":80.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 03:58:32"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":252,"date_string":"23/02/26 Monday"} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[15,9,10,16,18,19,20,21],"types":["strength","conditioning"]} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[15,9,10,16,18,19,20,21]} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[9,10,21],"types":["Strength","Conditioning"],"formats":["straight-sets","amrap"]} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,35]} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":11,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":9,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":2,"created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":11,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":36,"workout_libraries_id":17,"straight_id":11,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"},{"id":37,"workout_libraries_id":17,"straight_id":11,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"},{"id":38,"workout_libraries_id":17,"straight_id":11,"res":2,"training_load":95,"unittype":"Kg","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"},{"id":39,"workout_libraries_id":17,"straight_id":11,"res":2,"training_load":100,"unittype":"Kg","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"}]}} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":9,"relation":"straights","format_row_id":12,"workout_libraries_id":16,"attached_test_id":59,"attached_test_weight":66.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":9,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z","test_weight":66.0,"test_unit_type":"kg","test_id":59,"test_created_at":"2026-02-23 04:00:23","format_row_id":12,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":40,"workout_libraries_id":16,"straight_id":12,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"},{"id":41,"workout_libraries_id":16,"straight_id":12,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"},{"id":42,"workout_libraries_id":16,"straight_id":12,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"},{"id":43,"workout_libraries_id":16,"straight_id":12,"res":5,"training_load":80,"unittype":"%","created_at":"2026-02-23T05:02:40.000000Z","updated_at":"2026-02-23T05:02:40.000000Z"}]}} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":6,"workout_libraries_id":62,"available_test_library_ids":[16,17,35]} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":10,"relation":"amraps","format_row_id":7,"workout_libraries_id":35,"attached_test_id":60,"attached_test_weight":20.0,"attached_unit_type":"kg","row_data":{"id":7,"workout_manager_id":10,"workout_libraries_id":35,"training_load":null,"unit_type":"BW","gender":null,"reps":8,"created_at":"2026-02-23T06:16:17.000000Z","updated_at":"2026-02-23T06:16:17.000000Z","test_weight":20.0,"test_unit_type":"kg","test_id":60,"test_created_at":"2026-02-23 04:05:31","format_row_id":7,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":8,"workout_libraries_id":98,"available_test_library_ids":[16,17,35]} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":10,"relation":"amraps","format_row_id":9,"workout_libraries_id":103,"available_test_library_ids":[16,17,35]} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":21,"relation":"amraps","format_row_id":10,"workout_libraries_id":62,"available_test_library_ids":[16,17,35]} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":21,"relation":"amraps","format_row_id":11,"workout_libraries_id":35,"attached_test_id":60,"attached_test_weight":20.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":21,"workout_libraries_id":35,"training_load":66,"unit_type":"BW","gender":null,"reps":9,"created_at":"2026-02-23T07:34:11.000000Z","updated_at":"2026-02-23T07:34:11.000000Z","test_weight":20.0,"test_unit_type":"kg","test_id":60,"test_created_at":"2026-02-23 04:05:31","format_row_id":11,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":21,"relation":"amraps","format_row_id":12,"workout_libraries_id":17,"attached_test_id":58,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":21,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-02-23T07:34:11.000000Z","updated_at":"2026-02-23T07:34:11.000000Z","test_weight":80.0,"test_unit_type":"kg","test_id":58,"test_created_at":"2026-02-23 03:58:32","format_row_id":12,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":21,"relation":"amraps","format_row_id":13,"workout_libraries_id":43,"available_test_library_ids":[16,17,35]} 
[2026-02-23 07:44:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":8,"matched":3,"not_matched":5,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-23 07:44:44] local.INFO: Day received (raw): {"day":"23/02/26 Monday"} 
[2026-02-23 07:44:44] local.INFO: Day received (sanitized): {"day":"23/02/26 Monday"} 
[2026-02-23 07:44:44] local.INFO: Tests retrieved {"count":5,"tests":[{"id":56,"workout_manager_id":11,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":50.0,"unit_type":"kg","created_at":"2026-02-23T03:57:07.000000Z","updated_at":"2026-02-23T03:57:07.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":57,"workout_manager_id":12,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":58,"workout_manager_id":13,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"23/02/26 Monday","weight":80.0,"unit_type":"kg","created_at":"2026-02-23T03:58:32.000000Z","updated_at":"2026-02-23T03:58:32.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":59,"workout_manager_id":14,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"23/02/26 Monday","weight":66.0,"unit_type":"kg","created_at":"2026-02-23T04:00:23.000000Z","updated_at":"2026-02-23T04:00:23.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-02-23 07:48:36] local.INFO: Tab value: all  
[2026-02-23 07:48:37] local.INFO: Saved type row conditioning  
[2026-02-23 07:48:37] local.INFO: Saved type row conditioning  
[2026-02-23 07:48:37] local.INFO: Saved type row strength  
[2026-02-23 08:38:53] local.INFO: Tab value: all  
[2026-02-23 08:38:56] local.INFO: Saved type row conditioning  
[2026-02-23 08:38:56] local.INFO: Saved type row conditioning  
[2026-02-23 08:38:56] local.INFO: Saved type row strength  
[2026-02-23 08:57:42] local.INFO: Tab value: all  
[2026-02-23 08:57:43] local.INFO: Saved type row conditioning  
[2026-02-23 08:57:43] local.INFO: Saved type row conditioning  
[2026-02-23 08:57:43] local.INFO: Saved type row strength  
[2026-02-23 21:16:46] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-23 21:16:46] local.INFO: Tab value: all  
[2026-02-24 00:21:37] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:21:37] local.INFO: Tab value: all  
[2026-02-24 00:22:58] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:22:58] local.INFO: Tab value: all  
[2026-02-24 00:24:33] local.INFO: Tab value: all  
[2026-02-24 00:24:33] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:24:34] local.INFO: Saved type row warmup  
[2026-02-24 00:24:34] local.INFO: Saved type row warmup  
[2026-02-24 00:24:34] local.INFO: Saved type row warmup  
[2026-02-24 00:24:58] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:24:58] local.INFO: Tab value: all  
[2026-02-24 00:24:58] local.INFO: Saved type row warmup  
[2026-02-24 00:24:59] local.INFO: Saved type row warmup  
[2026-02-24 00:24:59] local.INFO: Saved type row warmup  
[2026-02-24 00:25:22] local.INFO: Tab value: all  
[2026-02-24 00:25:22] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:25:22] local.INFO: Saved type row warmup  
[2026-02-24 00:25:23] local.INFO: Saved type row warmup  
[2026-02-24 00:25:23] local.INFO: Saved type row warmup  
[2026-02-24 00:27:05] local.INFO: Tab value: all  
[2026-02-24 00:27:05] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:27:05] local.INFO: Saved type row warmup  
[2026-02-24 00:27:05] local.INFO: Saved type row warmup  
[2026-02-24 00:27:06] local.INFO: Saved type row warmup  
[2026-02-24 00:27:09] local.INFO: assignWorkoutToClass:  {"workout_id":23,"class_id":253,"type":"workout_manager","action":"assign","date":"24/02/26 Tuesday"} 
[2026-02-24 00:27:09] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:27:09] local.INFO: Saved type row warmup  
[2026-02-24 00:28:37] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:28:37] local.INFO: Tab value: all  
[2026-02-24 00:28:37] local.INFO: Saved type row strength  
[2026-02-24 00:28:37] local.INFO: Saved type row warmup  
[2026-02-24 00:28:37] local.INFO: Saved type row strength  
[2026-02-24 00:28:37] local.INFO: Saved type row warmup  
[2026-02-24 00:28:38] local.INFO: Saved type row strength  
[2026-02-24 00:28:38] local.INFO: Saved type row warmup  
[2026-02-24 00:28:42] local.INFO: assignWorkoutToClass:  {"workout_id":24,"class_id":253,"type":"workout_manager","action":"assign","date":"24/02/26 Tuesday"} 
[2026-02-24 00:28:42] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:28:42] local.INFO: Saved type row strength  
[2026-02-24 00:28:42] local.INFO: Saved type row warmup  
[2026-02-24 00:29:28] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:29:28] local.INFO: Tab value: all  
[2026-02-24 00:29:28] local.INFO: Saved type row strength  
[2026-02-24 00:29:28] local.INFO: Saved type row warmup  
[2026-02-24 00:29:29] local.INFO: Saved type row strength  
[2026-02-24 00:29:29] local.INFO: Saved type row warmup  
[2026-02-24 00:29:29] local.INFO: Saved type row strength  
[2026-02-24 00:29:29] local.INFO: Saved type row warmup  
[2026-02-24 00:30:00] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:30:00] local.INFO: Tab value: all  
[2026-02-24 00:30:01] local.INFO: Saved type row strength  
[2026-02-24 00:30:01] local.INFO: Saved type row warmup  
[2026-02-24 00:30:01] local.INFO: Saved type row strength  
[2026-02-24 00:30:01] local.INFO: Saved type row warmup  
[2026-02-24 00:30:01] local.INFO: Saved type row strength  
[2026-02-24 00:30:01] local.INFO: Saved type row warmup  
[2026-02-24 00:32:32] local.INFO: Tab value: all  
[2026-02-24 00:32:32] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:32:33] local.INFO: Saved type row conditioning  
[2026-02-24 00:32:33] local.INFO: Saved type row strength  
[2026-02-24 00:32:33] local.INFO: Saved type row warmup  
[2026-02-24 00:32:33] local.INFO: Saved type row conditioning  
[2026-02-24 00:32:33] local.INFO: Saved type row strength  
[2026-02-24 00:32:33] local.INFO: Saved type row warmup  
[2026-02-24 00:32:33] local.INFO: Saved type row conditioning  
[2026-02-24 00:32:33] local.INFO: Saved type row strength  
[2026-02-24 00:32:33] local.INFO: Saved type row warmup  
[2026-02-24 00:33:00] local.INFO: Tab value: all  
[2026-02-24 00:33:00] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:33:01] local.INFO: Saved type row conditioning  
[2026-02-24 00:33:01] local.INFO: Saved type row strength  
[2026-02-24 00:33:01] local.INFO: Saved type row warmup  
[2026-02-24 00:33:01] local.INFO: Saved type row conditioning  
[2026-02-24 00:33:01] local.INFO: Saved type row strength  
[2026-02-24 00:33:01] local.INFO: Saved type row warmup  
[2026-02-24 00:33:01] local.INFO: Saved type row conditioning  
[2026-02-24 00:33:01] local.INFO: Saved type row strength  
[2026-02-24 00:33:01] local.INFO: Saved type row warmup  
[2026-02-24 00:34:51] local.INFO: Tab value: all  
[2026-02-24 00:34:51] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:34:51] local.INFO: Saved type row conditioning  
[2026-02-24 00:34:51] local.INFO: Saved type row strength  
[2026-02-24 00:34:51] local.INFO: Saved type row warmup  
[2026-02-24 00:34:52] local.INFO: Saved type row conditioning  
[2026-02-24 00:34:52] local.INFO: Saved type row strength  
[2026-02-24 00:34:52] local.INFO: Saved type row warmup  
[2026-02-24 00:34:52] local.INFO: Saved type row conditioning  
[2026-02-24 00:34:52] local.INFO: Saved type row strength  
[2026-02-24 00:34:52] local.INFO: Saved type row warmup  
[2026-02-24 00:35:02] local.INFO: assignWorkoutToClass:  {"workout_id":25,"class_id":253,"type":"workout_manager","action":"assign","date":"24/02/26 Tuesday"} 
[2026-02-24 00:35:02] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 00:35:02] local.INFO: Saved type row conditioning  
[2026-02-24 00:35:02] local.INFO: Saved type row strength  
[2026-02-24 00:35:02] local.INFO: Saved type row warmup  
[2026-02-24 01:29:30] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:29:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:29:30] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:29:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:29:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-24 01:29:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-24 01:29:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:29:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:29:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:29:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:29:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-02-24 01:29:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[]} 
[2026-02-24 01:29:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[]} 
[2026-02-24 01:29:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":20,"workout_libraries_id":128,"available_test_library_ids":[]} 
[2026-02-24 01:29:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":21,"workout_libraries_id":54,"available_test_library_ids":[]} 
[2026-02-24 01:29:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[]} 
[2026-02-24 01:29:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[]} 
[2026-02-24 01:29:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[]} 
[2026-02-24 01:29:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":0,"not_matched":4,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:29:31] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:29:31] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:29:31] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-02-24 01:31:09] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:31:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:31:09] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:31:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:31:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[118],"test_ids":[61]} 
[2026-02-24 01:31:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118],"testMap_sample":{"118":{"test_id":61,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:31:09"}}} 
[2026-02-24 01:31:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:31:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:31:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:31:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:31:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118]} 
[2026-02-24 01:31:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118]} 
[2026-02-24 01:31:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118]} 
[2026-02-24 01:31:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":20,"workout_libraries_id":128,"available_test_library_ids":[118]} 
[2026-02-24 01:31:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":21,"workout_libraries_id":54,"available_test_library_ids":[118]} 
[2026-02-24 01:31:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118]} 
[2026-02-24 01:31:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118]} 
[2026-02-24 01:31:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118]} 
[2026-02-24 01:31:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":0,"not_matched":4,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:31:10] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:31:10] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:31:10] local.INFO: Tests retrieved {"count":1,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[118],"test_ids":[61]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118],"testMap_sample":{"118":{"test_id":61,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:31:09"}}} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":20,"workout_libraries_id":128,"available_test_library_ids":[118]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":21,"workout_libraries_id":54,"available_test_library_ids":[118]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118]} 
[2026-02-24 01:31:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":0,"not_matched":4,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:31:53] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:31:53] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:31:53] local.INFO: Tests retrieved {"count":1,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[118,126],"test_ids":[61,62]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126],"testMap_sample":{"118":{"test_id":61,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:31:09"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"}}} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":20,"workout_libraries_id":128,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":21,"workout_libraries_id":54,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":0,"not_matched":4,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:32:20] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:32:20] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:32:20] local.INFO: Tests retrieved {"count":2,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[118,126],"test_ids":[61,62,63]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"}}} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":20,"workout_libraries_id":128,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":21,"workout_libraries_id":54,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126]} 
[2026-02-24 01:32:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":0,"not_matched":4,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:32:50] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:32:50] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:32:50] local.INFO: Tests retrieved {"count":3,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[118,126],"test_ids":[61,62,63]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"}}} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":20,"workout_libraries_id":128,"available_test_library_ids":[118,126]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":21,"workout_libraries_id":54,"available_test_library_ids":[118,126]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126]} 
[2026-02-24 01:33:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":0,"not_matched":4,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:33:09] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:33:09] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:33:09] local.INFO: Tests retrieved {"count":3,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[118,126,125],"test_ids":[61,62,63,64]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126,125],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"},"125":{"test_id":64,"weight":106.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:33:33"}}} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126,125]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":20,"workout_libraries_id":128,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":21,"workout_libraries_id":54,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":0,"not_matched":4,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:33:34] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:33:34] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:33:34] local.INFO: Tests retrieved {"count":4,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":64,"workout_manager_id":29,"category_id":9,"workout_libraries_id":125,"workout_id":125,"member_id":9,"date":"24/02/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-02-24T01:33:33.000000Z","updated_at":"2026-02-24T01:33:33.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[118,126,125],"test_ids":[61,62,63,64]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126,125],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"},"125":{"test_id":64,"weight":106.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:33:33"}}} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126,125]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":20,"workout_libraries_id":128,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":21,"workout_libraries_id":54,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":0,"not_matched":4,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:33:42] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:33:42] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:33:42] local.INFO: Tests retrieved {"count":4,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":64,"workout_manager_id":29,"category_id":9,"workout_libraries_id":125,"workout_id":125,"member_id":9,"date":"24/02/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-02-24T01:33:33.000000Z","updated_at":"2026-02-24T01:33:33.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 01:33:45] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:33:45] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:33:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[118,126,125],"test_ids":[61,62,63,64]} 
[2026-02-24 01:33:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126,125],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"},"125":{"test_id":64,"weight":106.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:33:33"}}} 
[2026-02-24 01:33:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:33:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:33:46] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:33:46] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126,125]} 
[2026-02-24 01:33:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":20,"workout_libraries_id":128,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":21,"workout_libraries_id":54,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:46] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":0,"not_matched":4,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:33:46] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:33:46] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:33:46] local.INFO: Tests retrieved {"count":4,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":64,"workout_manager_id":29,"category_id":9,"workout_libraries_id":125,"workout_id":125,"member_id":9,"date":"24/02/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-02-24T01:33:33.000000Z","updated_at":"2026-02-24T01:33:33.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[118,126,125],"test_ids":[61,62,63,64]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126,125],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"},"125":{"test_id":64,"weight":106.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:33:33"}}} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126,125]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":20,"workout_libraries_id":128,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":21,"workout_libraries_id":54,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:33:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":0,"not_matched":4,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:33:50] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:33:50] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:33:50] local.INFO: Tests retrieved {"count":4,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":64,"workout_manager_id":29,"category_id":9,"workout_libraries_id":125,"workout_id":125,"member_id":9,"date":"24/02/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-02-24T01:33:33.000000Z","updated_at":"2026-02-24T01:33:33.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[118,126,125],"test_ids":[61,62,63,64]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126,125],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"},"125":{"test_id":64,"weight":106.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:33:33"}}} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126,125]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":20,"workout_libraries_id":128,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":21,"workout_libraries_id":54,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126,125]} 
[2026-02-24 01:34:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":0,"not_matched":4,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:34:05] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:34:05] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:34:05] local.INFO: Tests retrieved {"count":4,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":64,"workout_manager_id":29,"category_id":9,"workout_libraries_id":125,"workout_id":125,"member_id":9,"date":"24/02/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-02-24T01:33:33.000000Z","updated_at":"2026-02-24T01:33:33.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[118,126,125,128],"test_ids":[61,62,63,64,65]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126,125,128],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"},"125":{"test_id":64,"weight":106.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:33:33"},"128":{"test_id":65,"weight":101.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:40:04"}}} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126,125,128]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":24,"relation":"straights","format_row_id":20,"workout_libraries_id":128,"attached_test_id":65,"attached_test_weight":101.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":24,"workout_libraries_id":128,"training_load":90,"unit_type":"%","reps":2,"created_at":"2026-02-24T00:28:34.000000Z","updated_at":"2026-02-24T00:28:34.000000Z","test_weight":101.0,"test_unit_type":"kg","test_id":65,"test_created_at":"2026-02-24 01:40:04","format_row_id":20,"format_relation":"straights","format_table":"straights","workout_library":{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":65,"workout_libraries_id":128,"straight_id":20,"res":2,"training_load":90,"unittype":"%","created_at":"2026-02-24T00:28:34.000000Z","updated_at":"2026-02-24T00:28:34.000000Z"},{"id":66,"workout_libraries_id":128,"straight_id":20,"res":0,"training_load":80,"unittype":"%","created_at":"2026-02-24T00:28:34.000000Z","updated_at":"2026-02-24T00:28:34.000000Z"},{"id":67,"workout_libraries_id":128,"straight_id":20,"res":2,"training_load":92,"unittype":"%","created_at":"2026-02-24T00:28:34.000000Z","updated_at":"2026-02-24T00:28:34.000000Z"},{"id":68,"workout_libraries_id":128,"straight_id":20,"res":2,"training_load":93,"unittype":"%","created_at":"2026-02-24T00:28:34.000000Z","updated_at":"2026-02-24T00:28:34.000000Z"}]}} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":21,"workout_libraries_id":54,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 01:40:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:40:05] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:40:05] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:40:05] local.INFO: Tests retrieved {"count":5,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":64,"workout_manager_id":29,"category_id":9,"workout_libraries_id":125,"workout_id":125,"member_id":9,"date":"24/02/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-02-24T01:33:33.000000Z","updated_at":"2026-02-24T01:33:33.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":65,"workout_manager_id":30,"category_id":9,"workout_libraries_id":128,"workout_id":128,"member_id":9,"date":"24/02/26 Tuesday","weight":101.0,"unit_type":"kg","created_at":"2026-02-24T01:40:04.000000Z","updated_at":"2026-02-24T01:40:04.000000Z","workoutname":"Horizontal Press - bench press","is_assigned":0,"workout":{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 01:41:25] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:41:25] local.INFO: Tab value: all  
[2026-02-24 01:41:25] local.INFO: Saved type row pr's  
[2026-02-24 01:41:25] local.INFO: Saved type row pr's  
[2026-02-24 01:41:25] local.INFO: Saved type row pr's  
[2026-02-24 01:41:25] local.INFO: Saved type row pr's  
[2026-02-24 01:41:25] local.INFO: Saved type row pr's  
[2026-02-24 01:41:25] local.INFO: Saved type row conditioning  
[2026-02-24 01:41:25] local.INFO: Saved type row strength  
[2026-02-24 01:41:25] local.INFO: Saved type row warmup  
[2026-02-24 01:41:26] local.INFO: Saved type row pr's  
[2026-02-24 01:41:26] local.INFO: Saved type row pr's  
[2026-02-24 01:41:26] local.INFO: Saved type row pr's  
[2026-02-24 01:41:26] local.INFO: Saved type row pr's  
[2026-02-24 01:41:26] local.INFO: Saved type row pr's  
[2026-02-24 01:41:26] local.INFO: Saved type row conditioning  
[2026-02-24 01:41:26] local.INFO: Saved type row strength  
[2026-02-24 01:41:26] local.INFO: Saved type row warmup  
[2026-02-24 01:41:26] local.INFO: Saved type row pr's  
[2026-02-24 01:41:26] local.INFO: Saved type row pr's  
[2026-02-24 01:41:26] local.INFO: Saved type row pr's  
[2026-02-24 01:41:26] local.INFO: Saved type row pr's  
[2026-02-24 01:41:26] local.INFO: Saved type row pr's  
[2026-02-24 01:41:26] local.INFO: Saved type row conditioning  
[2026-02-24 01:41:26] local.INFO: Saved type row strength  
[2026-02-24 01:41:26] local.INFO: Saved type row warmup  
[2026-02-24 01:41:32] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[118,126,125,128],"test_ids":[61,62,63,64,65]} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126,125,128],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"},"125":{"test_id":64,"weight":106.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:33:33"},"128":{"test_id":65,"weight":101.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:40:04"}}} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126,125,128]} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":24,"relation":"straights","format_row_id":24,"workout_libraries_id":128,"attached_test_id":65,"attached_test_weight":101.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":24,"workout_libraries_id":128,"training_load":90,"unit_type":"%","reps":2,"created_at":"2026-02-24T01:41:22.000000Z","updated_at":"2026-02-24T01:41:22.000000Z","test_weight":101.0,"test_unit_type":"kg","test_id":65,"test_created_at":"2026-02-24 01:40:04","format_row_id":24,"format_relation":"straights","format_table":"straights","workout_library":{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":83,"workout_libraries_id":128,"straight_id":24,"res":2,"training_load":90,"unittype":"%","created_at":"2026-02-24T01:41:22.000000Z","updated_at":"2026-02-24T01:41:22.000000Z"},{"id":84,"workout_libraries_id":128,"straight_id":24,"res":2,"training_load":80,"unittype":"%","created_at":"2026-02-24T01:41:22.000000Z","updated_at":"2026-02-24T01:41:22.000000Z"},{"id":85,"workout_libraries_id":128,"straight_id":24,"res":2,"training_load":92,"unittype":"%","created_at":"2026-02-24T01:41:22.000000Z","updated_at":"2026-02-24T01:41:22.000000Z"},{"id":86,"workout_libraries_id":128,"straight_id":24,"res":2,"training_load":93,"unittype":"%","created_at":"2026-02-24T01:41:22.000000Z","updated_at":"2026-02-24T01:41:22.000000Z"}]}} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":25,"workout_libraries_id":54,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 01:41:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 01:41:32] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:41:32] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:41:32] local.INFO: Tests retrieved {"count":5,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":64,"workout_manager_id":29,"category_id":9,"workout_libraries_id":125,"workout_id":125,"member_id":9,"date":"24/02/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-02-24T01:33:33.000000Z","updated_at":"2026-02-24T01:33:33.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":65,"workout_manager_id":30,"category_id":9,"workout_libraries_id":128,"workout_id":128,"member_id":9,"date":"24/02/26 Tuesday","weight":101.0,"unit_type":"kg","created_at":"2026-02-24T01:40:04.000000Z","updated_at":"2026-02-24T01:40:04.000000Z","workoutname":"Horizontal Press - bench press","is_assigned":0,"workout":{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 01:41:56] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:41:57] local.INFO: Saved type row pr's  
[2026-02-24 01:41:57] local.INFO: Saved type row pr's  
[2026-02-24 01:41:57] local.INFO: Saved type row pr's  
[2026-02-24 01:41:57] local.INFO: Saved type row pr's  
[2026-02-24 01:41:57] local.INFO: Saved type row pr's  
[2026-02-24 01:41:57] local.INFO: Saved type row conditioning  
[2026-02-24 01:41:57] local.INFO: Saved type row strength  
[2026-02-24 01:41:57] local.INFO: Saved type row warmup  
[2026-02-24 01:44:15] local.INFO: storewarmupdaily function called.  
[2026-02-24 01:44:15] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-02-24 01:44:15] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":23,"workout_format_type":"straight-sets","workout_format_id":59,"reps":8,"date":"24/02/26 Tuesday"}]} 
[2026-02-24 01:44:15] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-02-24 01:44:15] local.INFO: New warm-up created {"workout_manager_id":23,"workout_format_type":"straight-sets","workout_format_id":59} 
[2026-02-24 01:45:06] local.INFO: storewarmupdaily function called.  
[2026-02-24 01:45:06] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-02-24 01:45:06] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":23,"workout_format_type":"straight-sets","workout_format_id":62,"reps":8,"date":"24/02/26 Tuesday"}]} 
[2026-02-24 01:45:06] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-02-24 01:45:06] local.INFO: New warm-up created {"workout_manager_id":23,"workout_format_type":"straight-sets","workout_format_id":62} 
[2026-02-24 01:47:01] local.INFO: storewarmupdaily function called.  
[2026-02-24 01:47:01] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-02-24 01:47:01] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":23,"workout_format_type":"straight-sets","workout_format_id":60,"reps":8,"date":"24/02/26 Tuesday"}]} 
[2026-02-24 01:47:01] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-02-24 01:47:01] local.INFO: New warm-up created {"workout_manager_id":23,"workout_format_type":"straight-sets","workout_format_id":60} 
[2026-02-24 01:47:41] local.INFO: storewarmupdaily function called.  
[2026-02-24 01:47:41] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-02-24 01:47:41] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":23,"workout_format_type":"straight-sets","workout_format_id":63,"reps":8,"date":"24/02/26 Tuesday"}]} 
[2026-02-24 01:47:41] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-02-24 01:47:41] local.INFO: New warm-up created {"workout_manager_id":23,"workout_format_type":"straight-sets","workout_format_id":63} 
[2026-02-24 01:48:41] local.INFO: storewarmupdaily function called.  
[2026-02-24 01:48:41] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-02-24 01:48:41] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":23,"workout_format_type":"straight-sets","workout_format_id":61,"reps":8,"date":"24/02/26 Tuesday"}]} 
[2026-02-24 01:48:41] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-02-24 01:48:41] local.INFO: New warm-up created {"workout_manager_id":23,"workout_format_type":"straight-sets","workout_format_id":61} 
[2026-02-24 01:48:43] local.INFO: storewarmupdaily function called.  
[2026-02-24 01:48:43] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-02-24 01:48:43] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":23,"workout_format_type":"straight-sets","workout_format_id":64,"reps":8,"date":"24/02/26 Tuesday"}]} 
[2026-02-24 01:48:43] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-02-24 01:48:43] local.INFO: New warm-up created {"workout_manager_id":23,"workout_format_type":"straight-sets","workout_format_id":64} 
[2026-02-24 01:54:15] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 01:54:15] local.INFO: Tab value: all  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row conditioning  
[2026-02-24 01:54:16] local.INFO: Saved type row strength  
[2026-02-24 01:54:16] local.INFO: Saved type row warmup  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row conditioning  
[2026-02-24 01:54:16] local.INFO: Saved type row strength  
[2026-02-24 01:54:16] local.INFO: Saved type row warmup  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row pr's  
[2026-02-24 01:54:16] local.INFO: Saved type row conditioning  
[2026-02-24 01:54:16] local.INFO: Saved type row strength  
[2026-02-24 01:54:16] local.INFO: Saved type row warmup  
[2026-02-24 01:54:22] local.INFO: Saved type row pr's  
[2026-02-24 01:54:22] local.INFO: Saved type row pr's  
[2026-02-24 01:54:22] local.INFO: Saved type row pr's  
[2026-02-24 01:54:22] local.INFO: Saved type row pr's  
[2026-02-24 01:54:22] local.INFO: Saved type row conditioning  
[2026-02-24 01:54:22] local.INFO: Saved type row strength  
[2026-02-24 01:54:22] local.INFO: Saved type row warmup  
[2026-02-24 01:54:27] local.INFO: Saved type row pr's  
[2026-02-24 01:54:27] local.INFO: Saved type row pr's  
[2026-02-24 01:54:27] local.INFO: Saved type row pr's  
[2026-02-24 01:54:27] local.INFO: Saved type row conditioning  
[2026-02-24 01:54:27] local.INFO: Saved type row strength  
[2026-02-24 01:54:27] local.INFO: Saved type row warmup  
[2026-02-24 02:03:57] local.INFO: storestrengthdaily function called.  
[2026-02-24 02:03:57] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-02-24 02:03:57] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":83,"reps":2,"weight":12.75,"date":"24/02/26 Tuesday","set_number":1},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":84,"reps":2,"weight":14.5,"date":"24/02/26 Tuesday","set_number":2},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":85,"reps":2,"weight":16.25,"date":"24/02/26 Tuesday","set_number":3},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":86,"reps":2,"weight":18.25,"date":"24/02/26 Tuesday","set_number":4},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":87,"reps":5,"weight":0,"date":"24/02/26 Tuesday","set_number":1},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":88,"reps":5,"weight":0,"date":"24/02/26 Tuesday","set_number":2},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":89,"reps":5,"weight":0,"date":"24/02/26 Tuesday","set_number":3},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":90,"reps":5,"weight":0,"date":"24/02/26 Tuesday","set_number":4}]} 
[2026-02-24 02:03:57] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-24 02:03:57] local.INFO: New strength record created {"workout_manager_id":24,"set_number":1} 
[2026-02-24 02:03:57] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-24 02:03:57] local.INFO: New strength record created {"workout_manager_id":24,"set_number":2} 
[2026-02-24 02:03:57] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-24 02:03:57] local.INFO: New strength record created {"workout_manager_id":24,"set_number":3} 
[2026-02-24 02:03:57] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-24 02:03:57] local.INFO: New strength record created {"workout_manager_id":24,"set_number":4} 
[2026-02-24 02:03:57] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-24 02:03:57] local.INFO: New strength record created {"workout_manager_id":24,"set_number":1} 
[2026-02-24 02:03:57] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-24 02:03:57] local.INFO: New strength record created {"workout_manager_id":24,"set_number":2} 
[2026-02-24 02:03:57] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-24 02:03:57] local.INFO: New strength record created {"workout_manager_id":24,"set_number":3} 
[2026-02-24 02:03:57] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-02-24 02:03:57] local.INFO: New strength record created {"workout_manager_id":24,"set_number":4} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[118,126,125,128],"test_ids":[61,62,63,64,65]} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126,125,128],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"},"125":{"test_id":64,"weight":106.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:33:33"},"128":{"test_id":65,"weight":101.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:40:04"}}} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126,125,128]} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":24,"relation":"straights","format_row_id":26,"workout_libraries_id":128,"attached_test_id":65,"attached_test_weight":101.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":24,"workout_libraries_id":128,"training_load":90,"unit_type":"%","reps":2,"created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z","test_weight":101.0,"test_unit_type":"kg","test_id":65,"test_created_at":"2026-02-24 01:40:04","format_row_id":26,"format_relation":"straights","format_table":"straights","workout_library":{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":91,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":90,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"},{"id":92,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":91,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"},{"id":93,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":92,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"},{"id":94,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":93,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"}]}} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":27,"workout_libraries_id":54,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 02:03:57] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 02:03:57] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 02:03:57] local.INFO: Tests retrieved {"count":5,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":64,"workout_manager_id":29,"category_id":9,"workout_libraries_id":125,"workout_id":125,"member_id":9,"date":"24/02/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-02-24T01:33:33.000000Z","updated_at":"2026-02-24T01:33:33.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":65,"workout_manager_id":30,"category_id":9,"workout_libraries_id":128,"workout_id":128,"member_id":9,"date":"24/02/26 Tuesday","weight":101.0,"unit_type":"kg","created_at":"2026-02-24T01:40:04.000000Z","updated_at":"2026-02-24T01:40:04.000000Z","workoutname":"Horizontal Press - bench press","is_assigned":0,"workout":{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 02:03:58] local.INFO: storestrengthdaily function called.  
[2026-02-24 02:03:58] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-02-24 02:03:58] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":83,"reps":2,"weight":12.75,"date":"24/02/26 Tuesday","set_number":1},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":84,"reps":2,"weight":14.5,"date":"24/02/26 Tuesday","set_number":2},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":85,"reps":2,"weight":16.25,"date":"24/02/26 Tuesday","set_number":3},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":86,"reps":2,"weight":18.25,"date":"24/02/26 Tuesday","set_number":4},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":87,"reps":5,"weight":0,"date":"24/02/26 Tuesday","set_number":1},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":88,"reps":5,"weight":0,"date":"24/02/26 Tuesday","set_number":2},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":89,"reps":5,"weight":0,"date":"24/02/26 Tuesday","set_number":3},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":90,"reps":5,"weight":0,"date":"24/02/26 Tuesday","set_number":4}]} 
[2026-02-24 02:03:58] local.INFO: Existing strength record: {"dailyStrength":{"id":71,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":83,"type":"Primary","reps":2,"weight":"12.75","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":1}} 
[2026-02-24 02:03:58] local.INFO: Strength updated {"workout_manager_id":24,"set_number":1} 
[2026-02-24 02:03:58] local.INFO: Existing strength record: {"dailyStrength":{"id":72,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":84,"type":"Primary","reps":2,"weight":"14.5","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":2}} 
[2026-02-24 02:03:58] local.INFO: Strength updated {"workout_manager_id":24,"set_number":2} 
[2026-02-24 02:03:58] local.INFO: Existing strength record: {"dailyStrength":{"id":73,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":85,"type":"Primary","reps":2,"weight":"16.25","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":3}} 
[2026-02-24 02:03:58] local.INFO: Strength updated {"workout_manager_id":24,"set_number":3} 
[2026-02-24 02:03:58] local.INFO: Existing strength record: {"dailyStrength":{"id":74,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":86,"type":"Primary","reps":2,"weight":"18.25","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":4}} 
[2026-02-24 02:03:58] local.INFO: Strength updated {"workout_manager_id":24,"set_number":4} 
[2026-02-24 02:03:58] local.INFO: Existing strength record: {"dailyStrength":{"id":75,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":87,"type":"Primary","reps":5,"weight":"0","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":1}} 
[2026-02-24 02:03:58] local.INFO: Strength updated {"workout_manager_id":24,"set_number":1} 
[2026-02-24 02:03:58] local.INFO: Existing strength record: {"dailyStrength":{"id":76,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":88,"type":"Primary","reps":5,"weight":"0","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":2}} 
[2026-02-24 02:03:58] local.INFO: Strength updated {"workout_manager_id":24,"set_number":2} 
[2026-02-24 02:03:58] local.INFO: Existing strength record: {"dailyStrength":{"id":77,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":89,"type":"Primary","reps":5,"weight":"0","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":3}} 
[2026-02-24 02:03:58] local.INFO: Strength updated {"workout_manager_id":24,"set_number":3} 
[2026-02-24 02:03:58] local.INFO: Existing strength record: {"dailyStrength":{"id":78,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":90,"type":"Primary","reps":5,"weight":"0","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":4}} 
[2026-02-24 02:03:58] local.INFO: Strength updated {"workout_manager_id":24,"set_number":4} 
[2026-02-24 02:03:59] local.INFO: storestrengthdaily function called.  
[2026-02-24 02:03:59] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-02-24 02:03:59] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":83,"reps":2,"weight":12.75,"date":"24/02/26 Tuesday","set_number":1},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":84,"reps":2,"weight":14.5,"date":"24/02/26 Tuesday","set_number":2},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":85,"reps":2,"weight":16.25,"date":"24/02/26 Tuesday","set_number":3},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":86,"reps":2,"weight":18.25,"date":"24/02/26 Tuesday","set_number":4},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":87,"reps":5,"weight":0,"date":"24/02/26 Tuesday","set_number":1},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":88,"reps":5,"weight":0,"date":"24/02/26 Tuesday","set_number":2},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":89,"reps":5,"weight":0,"date":"24/02/26 Tuesday","set_number":3},{"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":90,"reps":5,"weight":0,"date":"24/02/26 Tuesday","set_number":4}]} 
[2026-02-24 02:03:59] local.INFO: Existing strength record: {"dailyStrength":{"id":71,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":83,"type":"Primary","reps":2,"weight":"12.75","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":1}} 
[2026-02-24 02:03:59] local.INFO: Strength updated {"workout_manager_id":24,"set_number":1} 
[2026-02-24 02:03:59] local.INFO: Existing strength record: {"dailyStrength":{"id":72,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":84,"type":"Primary","reps":2,"weight":"14.5","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":2}} 
[2026-02-24 02:03:59] local.INFO: Strength updated {"workout_manager_id":24,"set_number":2} 
[2026-02-24 02:03:59] local.INFO: Existing strength record: {"dailyStrength":{"id":73,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":85,"type":"Primary","reps":2,"weight":"16.25","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":3}} 
[2026-02-24 02:03:59] local.INFO: Strength updated {"workout_manager_id":24,"set_number":3} 
[2026-02-24 02:03:59] local.INFO: Existing strength record: {"dailyStrength":{"id":74,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":86,"type":"Primary","reps":2,"weight":"18.25","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":4}} 
[2026-02-24 02:03:59] local.INFO: Strength updated {"workout_manager_id":24,"set_number":4} 
[2026-02-24 02:03:59] local.INFO: Existing strength record: {"dailyStrength":{"id":75,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":87,"type":"Primary","reps":5,"weight":"0","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":1}} 
[2026-02-24 02:03:59] local.INFO: Strength updated {"workout_manager_id":24,"set_number":1} 
[2026-02-24 02:03:59] local.INFO: Existing strength record: {"dailyStrength":{"id":76,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":88,"type":"Primary","reps":5,"weight":"0","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":2}} 
[2026-02-24 02:03:59] local.INFO: Strength updated {"workout_manager_id":24,"set_number":2} 
[2026-02-24 02:03:59] local.INFO: Existing strength record: {"dailyStrength":{"id":77,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":89,"type":"Primary","reps":5,"weight":"0","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":3}} 
[2026-02-24 02:03:59] local.INFO: Strength updated {"workout_manager_id":24,"set_number":3} 
[2026-02-24 02:03:59] local.INFO: Existing strength record: {"dailyStrength":{"id":78,"member_id":9,"strength_id":null,"workout_manager_id":24,"workout_format_type":"straight-sets","workout_format_id":90,"type":"Primary","reps":5,"weight":"0","date":"24/02/26 Tuesday","created_at":"2026-02-24T02:03:57.000000Z","updated_at":"2026-02-24T02:03:57.000000Z","set_number":4}} 
[2026-02-24 02:03:59] local.INFO: Strength updated {"workout_manager_id":24,"set_number":4} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[118,126,125,128],"test_ids":[61,62,63,64,65]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126,125,128],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"},"125":{"test_id":64,"weight":106.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:33:33"},"128":{"test_id":65,"weight":101.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:40:04"}}} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":24,"relation":"straights","format_row_id":26,"workout_libraries_id":128,"attached_test_id":65,"attached_test_weight":101.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":24,"workout_libraries_id":128,"training_load":90,"unit_type":"%","reps":2,"created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z","test_weight":101.0,"test_unit_type":"kg","test_id":65,"test_created_at":"2026-02-24 01:40:04","format_row_id":26,"format_relation":"straights","format_table":"straights","workout_library":{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":91,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":90,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"},{"id":92,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":91,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"},{"id":93,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":92,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"},{"id":94,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":93,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"}]}} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":27,"workout_libraries_id":54,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 02:03:59] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 02:03:59] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 02:03:59] local.INFO: Tests retrieved {"count":5,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":64,"workout_manager_id":29,"category_id":9,"workout_libraries_id":125,"workout_id":125,"member_id":9,"date":"24/02/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-02-24T01:33:33.000000Z","updated_at":"2026-02-24T01:33:33.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":65,"workout_manager_id":30,"category_id":9,"workout_libraries_id":128,"workout_id":128,"member_id":9,"date":"24/02/26 Tuesday","weight":101.0,"unit_type":"kg","created_at":"2026-02-24T01:40:04.000000Z","updated_at":"2026-02-24T01:40:04.000000Z","workoutname":"Horizontal Press - bench press","is_assigned":0,"workout":{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[118,126,125,128],"test_ids":[61,62,63,64,65]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126,125,128],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"},"125":{"test_id":64,"weight":106.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:33:33"},"128":{"test_id":65,"weight":101.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:40:04"}}} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":24,"relation":"straights","format_row_id":26,"workout_libraries_id":128,"attached_test_id":65,"attached_test_weight":101.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":24,"workout_libraries_id":128,"training_load":90,"unit_type":"%","reps":2,"created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z","test_weight":101.0,"test_unit_type":"kg","test_id":65,"test_created_at":"2026-02-24 01:40:04","format_row_id":26,"format_relation":"straights","format_table":"straights","workout_library":{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":91,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":90,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"},{"id":92,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":91,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"},{"id":93,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":92,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"},{"id":94,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":93,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"}]}} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":27,"workout_libraries_id":54,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:03:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 02:03:59] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 02:03:59] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 02:03:59] local.INFO: Tests retrieved {"count":5,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":64,"workout_manager_id":29,"category_id":9,"workout_libraries_id":125,"workout_id":125,"member_id":9,"date":"24/02/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-02-24T01:33:33.000000Z","updated_at":"2026-02-24T01:33:33.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":65,"workout_manager_id":30,"category_id":9,"workout_libraries_id":128,"workout_id":128,"member_id":9,"date":"24/02/26 Tuesday","weight":101.0,"unit_type":"kg","created_at":"2026-02-24T01:40:04.000000Z","updated_at":"2026-02-24T01:40:04.000000Z","workoutname":"Horizontal Press - bench press","is_assigned":0,"workout":{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/02/26 Tuesday","date_obj":"2026-02-24"} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday","patterns":["24/02/26 Tuesday","24/02/26","24/02/2026","24/02/26 Tuesday","24/02/2026 Tuesday","Tuesday 24/02/26","Tuesday 24/02/2026"]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[118,126,125,128],"test_ids":[61,62,63,64,65]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,126,125,128],"testMap_sample":{"118":{"test_id":63,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:49"},"126":{"test_id":62,"weight":105.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:32:19"},"125":{"test_id":64,"weight":106.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:33:33"},"128":{"test_id":65,"weight":101.0,"unit_type":"kg","date":"24/02/26 Tuesday","test_created_at":"2026-02-24 01:40:04"}}} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":253,"date_string":"24/02/26 Tuesday"} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[23,24,25],"types":["warmup","strength","conditioning"]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[23,24,25]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[23,24,25],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,126,125,128]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":18,"workout_libraries_id":127,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":23,"relation":"straights","format_row_id":19,"workout_libraries_id":35,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":24,"relation":"straights","format_row_id":26,"workout_libraries_id":128,"attached_test_id":65,"attached_test_weight":101.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":24,"workout_libraries_id":128,"training_load":90,"unit_type":"%","reps":2,"created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z","test_weight":101.0,"test_unit_type":"kg","test_id":65,"test_created_at":"2026-02-24 01:40:04","format_row_id":26,"format_relation":"straights","format_table":"straights","workout_library":{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":91,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":90,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"},{"id":92,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":91,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"},{"id":93,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":92,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"},{"id":94,"workout_libraries_id":128,"straight_id":26,"res":2,"training_load":93,"unittype":"%","created_at":"2026-02-24T01:54:12.000000Z","updated_at":"2026-02-24T01:54:12.000000Z"}]}} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":24,"relation":"straights","format_row_id":27,"workout_libraries_id":54,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":5,"workout_libraries_id":147,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":6,"workout_libraries_id":127,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":25,"relation":"rounds","format_row_id":7,"workout_libraries_id":148,"available_test_library_ids":[118,126,125,128]} 
[2026-02-24 02:06:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-02-24 02:06:10] local.INFO: Day received (raw): {"day":"24/02/26 Tuesday"} 
[2026-02-24 02:06:10] local.INFO: Day received (sanitized): {"day":"24/02/26 Tuesday"} 
[2026-02-24 02:06:10] local.INFO: Tests retrieved {"count":5,"tests":[{"id":61,"workout_manager_id":26,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:31:09.000000Z","updated_at":"2026-02-24T01:31:09.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":62,"workout_manager_id":27,"category_id":9,"workout_libraries_id":126,"workout_id":126,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:19.000000Z","updated_at":"2026-02-24T01:32:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":63,"workout_manager_id":28,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"24/02/26 Tuesday","weight":105.0,"unit_type":"kg","created_at":"2026-02-24T01:32:49.000000Z","updated_at":"2026-02-24T01:32:49.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":64,"workout_manager_id":29,"category_id":9,"workout_libraries_id":125,"workout_id":125,"member_id":9,"date":"24/02/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-02-24T01:33:33.000000Z","updated_at":"2026-02-24T01:33:33.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":65,"workout_manager_id":30,"category_id":9,"workout_libraries_id":128,"workout_id":128,"member_id":9,"date":"24/02/26 Tuesday","weight":101.0,"unit_type":"kg","created_at":"2026-02-24T01:40:04.000000Z","updated_at":"2026-02-24T01:40:04.000000Z","workoutname":"Horizontal Press - bench press","is_assigned":0,"workout":{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-02-24 02:07:18] local.INFO: Day received: {"day":"24/02/26 Tuesday"} 
[2026-02-24 02:07:18] local.INFO: Tab value: all  
[2026-02-24 02:07:18] local.INFO: Saved type row pr's  
[2026-02-24 02:07:18] local.INFO: Saved type row pr's  
[2026-02-24 02:07:18] local.INFO: Saved type row pr's  
[2026-02-24 02:07:18] local.INFO: Saved type row conditioning  
[2026-02-24 02:07:18] local.INFO: Saved type row strength  
[2026-02-24 02:07:18] local.INFO: Saved type row warmup  
[2026-02-24 02:07:18] local.INFO: Saved type row pr's  
[2026-02-24 02:07:18] local.INFO: Saved type row pr's  
[2026-02-24 02:07:18] local.INFO: Saved type row pr's  
[2026-02-24 02:07:18] local.INFO: Saved type row conditioning  
[2026-02-24 02:07:18] local.INFO: Saved type row strength  
[2026-02-24 02:07:18] local.INFO: Saved type row warmup  
[2026-02-24 02:07:19] local.INFO: Saved type row pr's  
[2026-02-24 02:07:19] local.INFO: Saved type row pr's  
[2026-02-24 02:07:19] local.INFO: Saved type row pr's  
[2026-02-24 02:07:19] local.INFO: Saved type row conditioning  
[2026-02-24 02:07:19] local.INFO: Saved type row strength  
[2026-02-24 02:07:19] local.INFO: Saved type row warmup  
[2026-02-24 23:57:31] local.INFO: Day received: {"day":"25/02/26 Wednesday"} 
[2026-02-24 23:57:31] local.INFO: Tab value: all  
[2026-02-24 23:57:58] local.INFO: Day received: {"day":"25/02/26 Wednesday"} 
[2026-02-24 23:57:58] local.INFO: Tab value: all  
[2026-02-24 23:58:04] local.INFO: Day received: {"day":"25/02/26 Wednesday"} 
[2026-02-24 23:58:04] local.INFO: Tab value: all  
[2026-02-25 01:33:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":254,"date_string":"25/02/26 Wednesday"} 
[2026-02-25 01:33:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/02/26 Wednesday","date_obj":"2026-02-25"} 
[2026-02-25 01:33:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":254,"date_string":"25/02/26 Wednesday","patterns":["25/02/26 Wednesday","25/02/26","25/02/2026","25/02/26 Wednesday","25/02/2026 Wednesday","Wednesday 25/02/26","Wednesday 25/02/2026"]} 
[2026-02-25 01:33:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":254,"date_string":"25/02/26 Wednesday"} 
[2026-02-25 01:33:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-25 01:33:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-25 01:33:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":254,"date_string":"25/02/26 Wednesday"} 
[2026-02-25 01:33:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-02-25 01:33:50] local.WARNING: [getWorkouts] No workout assignments found {"class_id":254,"date_string":"25/02/26 Wednesday"} 
[2026-02-25 01:35:20] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":254,"date_string":"25/02/26 Wednesday"} 
[2026-02-25 01:35:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/02/26 Wednesday","date_obj":"2026-02-25"} 
[2026-02-25 01:35:20] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":254,"date_string":"25/02/26 Wednesday","patterns":["25/02/26 Wednesday","25/02/26","25/02/2026","25/02/26 Wednesday","25/02/2026 Wednesday","Wednesday 25/02/26","Wednesday 25/02/2026"]} 
[2026-02-25 01:35:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":254,"date_string":"25/02/26 Wednesday"} 
[2026-02-25 01:35:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-02-25 01:35:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-02-25 01:35:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":254,"date_string":"25/02/26 Wednesday"} 
[2026-02-25 01:35:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-02-25 01:35:20] local.WARNING: [getWorkouts] No workout assignments found {"class_id":254,"date_string":"25/02/26 Wednesday"} 
[2026-02-25 03:14:50] local.INFO: Tab value: all  
[2026-02-25 03:14:50] local.INFO: Day received: {"day":"25/02/26 Wednesday"} 
[2026-02-26 01:27:34] local.INFO: Tab value: all  
[2026-02-26 01:27:34] local.INFO: Day received: {"day":"26/02/26 Thursday"} 
[2026-02-26 01:29:26] local.INFO: Day received: {"day":"26/02/26 Thursday"} 
[2026-02-26 01:29:26] local.INFO: Tab value: all  
[2026-02-26 01:29:26] local.INFO: Saved type row strength  
[2026-02-26 01:29:27] local.INFO: Saved type row strength  
[2026-02-26 01:29:27] local.INFO: Saved type row strength  
[2026-02-26 01:31:20] local.INFO: Tab value: all  
[2026-02-26 01:31:20] local.INFO: Day received: {"day":"26/02/26 Thursday"} 
[2026-02-26 01:31:20] local.INFO: Saved type row conditioning  
[2026-02-26 01:31:20] local.INFO: Saved type row strength  
[2026-02-26 01:31:21] local.INFO: Saved type row conditioning  
[2026-02-26 01:31:21] local.INFO: Saved type row strength  
[2026-02-26 01:31:21] local.INFO: Saved type row conditioning  
[2026-02-26 01:31:21] local.INFO: Saved type row strength  
[2026-02-26 01:31:24] local.INFO: assignWorkoutToClass:  {"workout_id":32,"class_id":255,"type":"workout_manager","action":"assign","date":"26/02/26 Thursday"} 
[2026-02-26 01:31:24] local.INFO: Day received: {"day":"26/02/26 Thursday"} 
[2026-02-26 01:31:24] local.INFO: Saved type row conditioning  
[2026-02-26 01:31:24] local.INFO: Saved type row strength  
[2026-02-26 01:31:27] local.INFO: assignWorkoutToClass:  {"workout_id":31,"class_id":255,"type":"workout_manager","action":"assign","date":"26/02/26 Thursday"} 
[2026-02-26 01:31:27] local.INFO: Day received: {"day":"26/02/26 Thursday"} 
[2026-02-26 01:31:27] local.INFO: Saved type row conditioning  
[2026-02-26 01:31:27] local.INFO: Saved type row strength  
[2026-02-26 01:38:57] local.INFO: Tab value: all  
[2026-02-26 01:38:57] local.INFO: Day received: {"day":"26/02/26 Thursday"} 
[2026-02-26 01:38:57] local.INFO: Saved type row conditioning  
[2026-02-26 01:38:57] local.INFO: Saved type row strength  
[2026-02-26 01:38:57] local.INFO: Saved type row conditioning  
[2026-02-26 01:38:57] local.INFO: Saved type row strength  
[2026-02-26 01:38:57] local.INFO: Saved type row conditioning  
[2026-02-26 01:38:57] local.INFO: Saved type row strength  
[2026-02-26 02:30:55] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-02-26 02:30:55] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-02-26 10:16:22] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-02-26 10:16:22] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-02-26 10:17:08] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-02-26 10:17:08] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-02-26 10:17:21] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-02-26 10:18:01] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-02 14:21:31] local.INFO: Day received: {"day":"02/03/26 Monday"} 
[2026-03-02 14:21:31] local.INFO: Tab value: all  
[2026-03-03 01:10:31] local.INFO: Tab value: all  
[2026-03-03 01:10:31] local.INFO: Day received: {"day":"03/03/26 Tuesday"} 
[2026-03-03 01:12:58] local.INFO: Tab value: all  
[2026-03-03 01:12:58] local.INFO: Day received: {"day":"03/03/26 Tuesday"} 
[2026-03-03 01:12:59] local.INFO: Saved type row strength  
[2026-03-03 01:12:59] local.INFO: Saved type row strength  
[2026-03-03 01:13:00] local.INFO: Saved type row strength  
[2026-03-03 01:14:21] local.INFO: Day received: {"day":"03/03/26 Tuesday"} 
[2026-03-03 01:14:21] local.INFO: Tab value: all  
[2026-03-03 01:14:21] local.INFO: Saved type row strength  
[2026-03-03 01:14:22] local.INFO: Saved type row strength  
[2026-03-03 01:14:22] local.INFO: Saved type row strength  
[2026-03-03 01:18:19] local.INFO: Day received: {"day":"03/03/26 Tuesday"} 
[2026-03-03 01:18:19] local.INFO: Tab value: all  
[2026-03-03 01:18:20] local.INFO: Saved type row strength  
[2026-03-03 01:18:20] local.INFO: Saved type row strength  
[2026-03-03 01:18:20] local.INFO: Saved type row strength  
[2026-03-03 01:18:20] local.INFO: Saved type row strength  
[2026-03-03 01:18:21] local.INFO: Saved type row strength  
[2026-03-03 01:18:21] local.INFO: Saved type row strength  
[2026-03-03 01:38:19] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":258,"date_string":"03/03/26 Tuesday"} 
[2026-03-03 01:38:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/03/26 Tuesday","date_obj":"2026-03-03"} 
[2026-03-03 01:38:19] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":258,"date_string":"03/03/26 Tuesday","patterns":["03/03/26 Tuesday","03/03/26","03/03/2026","03/03/26 Tuesday","03/03/2026 Tuesday","Tuesday 03/03/26","Tuesday 03/03/2026"]} 
[2026-03-03 01:38:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":258,"date_string":"03/03/26 Tuesday"} 
[2026-03-03 01:38:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-03 01:38:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-03 01:38:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":258,"date_string":"03/03/26 Tuesday"} 
[2026-03-03 01:38:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-03 01:38:19] local.WARNING: [getWorkouts] No workout assignments found {"class_id":258,"date_string":"03/03/26 Tuesday"} 
[2026-03-03 01:38:44] local.INFO: assignWorkoutToClass:  {"workout_id":34,"class_id":258,"type":"workout_manager","action":"assign","date":"03/03/26 Tuesday"} 
[2026-03-03 01:38:45] local.INFO: Saved type row strength  
[2026-03-03 01:38:45] local.INFO: Saved type row strength  
[2026-03-03 01:38:45] local.INFO: Day received: {"day":"03/03/26 Tuesday"} 
[2026-03-03 01:38:48] local.INFO: assignWorkoutToClass:  {"workout_id":33,"class_id":258,"type":"workout_manager","action":"assign","date":"03/03/26 Tuesday"} 
[2026-03-03 01:38:48] local.INFO: Saved type row strength  
[2026-03-03 01:38:48] local.INFO: Saved type row strength  
[2026-03-03 01:38:48] local.INFO: Day received: {"day":"03/03/26 Tuesday"} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":258,"date_string":"03/03/26 Tuesday"} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/03/26 Tuesday","date_obj":"2026-03-03"} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":258,"date_string":"03/03/26 Tuesday","patterns":["03/03/26 Tuesday","03/03/26","03/03/2026","03/03/26 Tuesday","03/03/2026 Tuesday","Tuesday 03/03/26","Tuesday 03/03/2026"]} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":258,"date_string":"03/03/26 Tuesday"} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":258,"date_string":"03/03/26 Tuesday"} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[34,33],"types":["strength"]} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[34,33]} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[33,34],"types":["Strength"],"formats":["straight-sets","for-time"]} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":33,"relation":"straights","format_row_id":28,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":33,"relation":"straights","format_row_id":29,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":34,"relation":"forTimes","format_row_id":2,"workout_libraries_id":98,"available_test_library_ids":[]} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":34,"relation":"forTimes","format_row_id":3,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":34,"relation":"forTimes","format_row_id":4,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-03 01:39:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":3,"matched":0,"not_matched":3,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-03-03 01:39:21] local.INFO: Day received (raw): {"day":"03/03/26 Tuesday"} 
[2026-03-03 01:39:21] local.INFO: Day received (sanitized): {"day":"03/03/26 Tuesday"} 
[2026-03-03 01:39:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-03 01:41:49] local.INFO: Saved type row strength  
[2026-03-03 01:43:21] local.INFO: Day received: {"day":"03/03/26 Tuesday"} 
[2026-03-03 01:43:21] local.INFO: Tab value: all  
[2026-03-03 01:43:21] local.INFO: Saved type row conditioning  
[2026-03-03 01:43:21] local.INFO: Saved type row strength  
[2026-03-03 01:43:22] local.INFO: Saved type row conditioning  
[2026-03-03 01:43:22] local.INFO: Saved type row strength  
[2026-03-03 01:43:22] local.INFO: Saved type row conditioning  
[2026-03-03 01:43:22] local.INFO: Saved type row strength  
[2026-03-03 01:43:28] local.INFO: assignWorkoutToClass:  {"workout_id":35,"class_id":258,"type":"workout_manager","action":"assign","date":"03/03/26 Tuesday"} 
[2026-03-03 01:43:28] local.INFO: Day received: {"day":"03/03/26 Tuesday"} 
[2026-03-03 01:43:28] local.INFO: Saved type row conditioning  
[2026-03-03 01:43:28] local.INFO: Saved type row strength  
[2026-03-03 01:43:49] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":258,"date_string":"03/03/26 Tuesday"} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/03/26 Tuesday","date_obj":"2026-03-03"} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":258,"date_string":"03/03/26 Tuesday","patterns":["03/03/26 Tuesday","03/03/26","03/03/2026","03/03/26 Tuesday","03/03/2026 Tuesday","Tuesday 03/03/26","Tuesday 03/03/2026"]} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":258,"date_string":"03/03/26 Tuesday"} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":258,"date_string":"03/03/26 Tuesday"} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[34,33,35],"types":["strength","conditioning"]} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[34,33,35]} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[33,35],"types":["Strength","Conditioning"],"formats":["straight-sets","for-time"]} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":33,"relation":"straights","format_row_id":28,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":33,"relation":"straights","format_row_id":29,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":35,"relation":"forTimes","format_row_id":5,"workout_libraries_id":98,"available_test_library_ids":[]} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":35,"relation":"forTimes","format_row_id":6,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":35,"relation":"forTimes","format_row_id":7,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-03 01:43:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":3,"matched":0,"not_matched":3,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-03-03 01:43:49] local.INFO: Day received (raw): {"day":"03/03/26 Tuesday"} 
[2026-03-03 01:43:49] local.INFO: Day received (sanitized): {"day":"03/03/26 Tuesday"} 
[2026-03-03 01:43:49] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-03 01:52:44] local.INFO: storestrengthdaily function called.  
[2026-03-03 01:52:44] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-03-03 01:52:44] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":33,"workout_format_type":"straight-sets","workout_format_id":99,"reps":2,"weight":0,"date":"03/03/26 Tuesday","set_number":1}]} 
[2026-03-03 01:52:44] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-03-03 01:52:44] local.INFO: New strength record created {"workout_manager_id":33,"set_number":1} 
[2026-03-10 23:26:21] local.INFO: Day received: {"day":"11/03/26 Wednesday"} 
[2026-03-10 23:26:21] local.INFO: Tab value: all  
[2026-03-10 23:28:44] local.INFO: Day received: {"day":"11/03/26 Wednesday"} 
[2026-03-10 23:28:44] local.INFO: Tab value: all  
[2026-03-10 23:28:45] local.INFO: Saved type row strength  
[2026-03-10 23:28:45] local.INFO: Saved type row strength  
[2026-03-10 23:28:45] local.INFO: Saved type row strength  
[2026-03-10 23:29:35] local.INFO: Tab value: all  
[2026-03-10 23:29:35] local.INFO: Day received: {"day":"11/03/26 Wednesday"} 
[2026-03-10 23:29:35] local.INFO: Saved type row strength  
[2026-03-10 23:29:35] local.INFO: Saved type row strength  
[2026-03-10 23:29:36] local.INFO: Saved type row strength  
[2026-03-10 23:31:27] local.INFO: Day received: {"day":"11/03/26 Wednesday"} 
[2026-03-10 23:31:27] local.INFO: Tab value: all  
[2026-03-10 23:31:27] local.INFO: Saved type row conditioning  
[2026-03-10 23:31:27] local.INFO: Saved type row strength  
[2026-03-10 23:31:28] local.INFO: Saved type row conditioning  
[2026-03-10 23:31:28] local.INFO: Saved type row strength  
[2026-03-10 23:31:28] local.INFO: Saved type row conditioning  
[2026-03-10 23:31:28] local.INFO: Saved type row strength  
[2026-03-11 01:36:30] local.INFO: Tab value: all  
[2026-03-11 01:36:30] local.INFO: Day received: {"day":"11/03/26 Wednesday"} 
[2026-03-11 01:36:30] local.INFO: Saved type row conditioning  
[2026-03-11 01:36:30] local.INFO: Saved type row strength  
[2026-03-11 01:36:31] local.INFO: Saved type row conditioning  
[2026-03-11 01:36:31] local.INFO: Saved type row strength  
[2026-03-11 01:36:32] local.INFO: Saved type row conditioning  
[2026-03-11 01:36:32] local.INFO: Saved type row strength  
[2026-03-11 01:36:37] local.INFO: assignWorkoutToClass:  {"workout_id":36,"class_id":264,"type":"workout_manager","action":"assign","date":"11/03/26 Wednesday"} 
[2026-03-11 01:36:37] local.INFO: Saved type row conditioning  
[2026-03-11 01:36:37] local.INFO: Saved type row strength  
[2026-03-11 01:36:37] local.INFO: Day received: {"day":"11/03/26 Wednesday"} 
[2026-03-11 01:36:40] local.INFO: assignWorkoutToClass:  {"workout_id":37,"class_id":264,"type":"workout_manager","action":"assign","date":"11/03/26 Wednesday"} 
[2026-03-11 01:36:40] local.INFO: Day received: {"day":"11/03/26 Wednesday"} 
[2026-03-11 01:36:40] local.INFO: Saved type row conditioning  
[2026-03-11 01:36:40] local.INFO: Saved type row strength  
[2026-03-11 01:37:40] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":264,"date_string":"11/03/26 Wednesday"} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/03/26 Wednesday","date_obj":"2026-03-11"} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":264,"date_string":"11/03/26 Wednesday","patterns":["11/03/26 Wednesday","11/03/26","11/03/2026","11/03/26 Wednesday","11/03/2026 Wednesday","Wednesday 11/03/26","Wednesday 11/03/2026"]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":264,"date_string":"11/03/26 Wednesday"} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":264,"date_string":"11/03/26 Wednesday"} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[36,37],"types":["strength","conditioning"]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[36,37]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[36,37],"types":["Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":36,"relation":"straights","format_row_id":30,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":36,"relation":"straights","format_row_id":31,"workout_libraries_id":146,"available_test_library_ids":[]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":37,"relation":"rounds","format_row_id":14,"workout_libraries_id":150,"available_test_library_ids":[]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":37,"relation":"rounds","format_row_id":15,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":37,"relation":"rounds","format_row_id":16,"workout_libraries_id":95,"available_test_library_ids":[]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":37,"relation":"rounds","format_row_id":17,"workout_libraries_id":44,"available_test_library_ids":[]} 
[2026-03-11 01:37:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":0,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-03-11 01:37:40] local.INFO: Day received (raw): {"day":"11/03/26 Wednesday"} 
[2026-03-11 01:37:40] local.INFO: Day received (sanitized): {"day":"11/03/26 Wednesday"} 
[2026-03-11 01:37:40] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-16 06:48:42] local.INFO: Tab value: all  
[2026-03-16 06:48:42] local.INFO: Day received: {"day":"16/03/26 Monday"} 
[2026-03-16 06:51:00] local.INFO: Day received: {"day":"16/03/26 Monday"} 
[2026-03-16 06:51:00] local.INFO: Tab value: all  
[2026-03-16 07:03:04] local.INFO: Day received: {"day":"16/03/26 Monday"} 
[2026-03-16 07:03:04] local.INFO: Tab value: all  
[2026-03-16 07:03:04] local.INFO: Saved type row warmup  
[2026-03-16 07:03:05] local.INFO: Saved type row warmup  
[2026-03-16 07:03:05] local.INFO: Saved type row warmup  
[2026-03-16 07:03:13] local.INFO: assignWorkoutToClass:  {"workout_id":38,"class_id":112,"type":"workout_manager","action":"assign","date":"16/03/26 Monday"} 
[2026-03-16 07:03:13] local.INFO: Saved type row warmup  
[2026-03-16 07:03:13] local.INFO: Day received: {"day":"16/03/26 Monday"} 
[2026-03-16 07:03:32] local.INFO: Store Class Request Data: {"_token":"TGlndLwslkEJ56yQyx6Uil8oNGZWZYjaUKQyeRjA","selectdatecla":"16/03/26 Monday","time":"21:00","duration":"1","spots":"20"} 
[2026-03-16 07:03:32] local.INFO: Creating single class. Date input: 16/03/26 Monday  
[2026-03-16 07:03:32] local.INFO: Parsed start date: 2026-03-16  
[2026-03-16 07:03:32] local.INFO: createClass helper called. Date: 16/03/26 Monday, Time: 21:00, Spots: 20  
[2026-03-16 07:03:32] local.INFO: Class created: 478  
[2026-03-16 07:03:32] local.INFO: Single class creation called successfully.  
[2026-03-16 07:03:35] local.INFO: Day received: {"day":"16/03/26 Monday"} 
[2026-03-16 07:03:35] local.INFO: Tab value: all  
[2026-03-16 07:03:35] local.INFO: Saved type row warmup  
[2026-03-16 07:03:36] local.INFO: Saved type row warmup  
[2026-03-16 07:03:36] local.INFO: Saved type row warmup  
[2026-03-16 07:06:00] local.INFO: Day received: {"day":"16/03/26 Monday"} 
[2026-03-16 07:06:00] local.INFO: Tab value: all  
[2026-03-16 07:06:00] local.INFO: Saved type row strength  
[2026-03-16 07:06:00] local.INFO: Saved type row warmup  
[2026-03-16 07:06:00] local.INFO: Saved type row strength  
[2026-03-16 07:06:00] local.INFO: Saved type row warmup  
[2026-03-16 07:06:01] local.INFO: Saved type row strength  
[2026-03-16 07:06:01] local.INFO: Saved type row warmup  
[2026-03-16 09:03:04] local.INFO: Day received: {"day":"16/03/26 Monday"} 
[2026-03-16 09:03:04] local.INFO: Tab value: all  
[2026-03-16 09:03:04] local.INFO: Saved type row strength  
[2026-03-16 09:03:04] local.INFO: Saved type row warmup  
[2026-03-16 09:03:05] local.INFO: Saved type row strength  
[2026-03-16 09:03:05] local.INFO: Saved type row warmup  
[2026-03-16 09:03:05] local.INFO: Saved type row strength  
[2026-03-16 09:03:05] local.INFO: Saved type row warmup  
[2026-03-16 09:03:33] local.INFO: Day received: {"day":"16/03/26 Monday"} 
[2026-03-16 09:03:33] local.INFO: Tab value: all  
[2026-03-16 09:03:33] local.INFO: Saved type row strength  
[2026-03-16 09:03:33] local.INFO: Saved type row warmup  
[2026-03-16 09:03:33] local.INFO: Saved type row strength  
[2026-03-16 09:03:33] local.INFO: Saved type row warmup  
[2026-03-16 09:03:34] local.INFO: Saved type row strength  
[2026-03-16 09:03:34] local.INFO: Saved type row warmup  
[2026-03-24 06:05:44] local.INFO: Tab value: all  
[2026-03-24 06:05:44] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:06:23] local.INFO: Tab value: all  
[2026-03-24 06:06:23] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:06:23] local.INFO: Saved type row warmup  
[2026-03-24 06:06:24] local.INFO: Saved type row warmup  
[2026-03-24 06:06:24] local.INFO: Saved type row warmup  
[2026-03-24 06:06:28] local.INFO: assignWorkoutToClass:  {"workout_id":40,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 06:06:28] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:06:28] local.INFO: Saved type row warmup  
[2026-03-24 06:06:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[40],"types":["warmup"]} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40]} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[40],"types":["Warmup"],"formats":["for-time"]} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":0},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-03-24 06:06:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:06:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:06:40] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:06:40] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:06:40] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 06:07:02] local.INFO: storewarmupdaily function called.  
[2026-03-24 06:07:02] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 06:07:02] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":40,"workout_format_type":"for-time","workout_format_id":11,"reps":2,"set_number":1,"round_number":null,"training_load":null,"exercise_time":"00:02","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 06:07:02] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-03-24 06:07:02] local.INFO: New warm-up created {"workout_manager_id":40,"workout_format_type":"for-time","workout_format_id":11,"round_number":null} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[40],"types":["warmup"]} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40]} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[40],"types":["Warmup"],"formats":["for-time"]} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":0},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-03-24 06:07:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:07:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:07:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:07:02] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:07:02] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:07:02] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 06:07:03] local.INFO: storewarmupdaily function called.  
[2026-03-24 06:07:03] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 06:07:03] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":40,"workout_format_type":"for-time","workout_format_id":11,"reps":2,"set_number":1,"round_number":null,"training_load":null,"exercise_time":"00:02","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 06:07:03] local.INFO: Existing warmup record: {"dailyWarmup":{"id":18,"class_id":273,"member_id":2,"warmup_id":null,"workout_manager_id":40,"workout_format_type":"for-time","workout_format_id":11,"reps":2,"date":"24/03/26 Tuesday","created_at":"2026-03-24T06:07:02.000000Z","updated_at":"2026-03-24T06:07:02.000000Z","exercise_time":"00:02","round_number":null}} 
[2026-03-24 06:07:03] local.INFO: Warm-up updated {"workout_manager_id":40,"workout_format_type":"for-time","workout_format_id":11,"round_number":null} 
[2026-03-24 06:08:20] local.INFO: storewarmupdaily function called.  
[2026-03-24 06:08:20] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 06:08:20] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":40,"workout_format_type":"for-time","workout_format_id":12,"reps":3,"set_number":1,"round_number":null,"training_load":null,"exercise_time":"01:20","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 06:08:20] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-03-24 06:08:20] local.INFO: New warm-up created {"workout_manager_id":40,"workout_format_type":"for-time","workout_format_id":12,"round_number":null} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[40],"types":["warmup"]} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40]} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[40],"types":["Warmup"],"formats":["for-time"]} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":0},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-03-24 06:08:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:08:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 06:08:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:08:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:08:21] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:08:21] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:08:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 06:08:21] local.INFO: storewarmupdaily function called.  
[2026-03-24 06:08:21] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 06:08:21] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":40,"workout_format_type":"for-time","workout_format_id":12,"reps":3,"set_number":2,"round_number":null,"training_load":null,"exercise_time":"01:20","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 06:08:21] local.INFO: Existing warmup record: {"dailyWarmup":{"id":19,"class_id":273,"member_id":2,"warmup_id":null,"workout_manager_id":40,"workout_format_type":"for-time","workout_format_id":12,"reps":3,"date":"24/03/26 Tuesday","created_at":"2026-03-24T06:08:20.000000Z","updated_at":"2026-03-24T06:08:20.000000Z","exercise_time":"01:20","round_number":null}} 
[2026-03-24 06:08:21] local.INFO: Warm-up updated {"workout_manager_id":40,"workout_format_type":"for-time","workout_format_id":12,"round_number":null} 
[2026-03-24 06:09:45] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:09:45] local.INFO: Tab value: all  
[2026-03-24 06:09:46] local.INFO: Saved type row warmup  
[2026-03-24 06:09:46] local.INFO: Saved type row warmup  
[2026-03-24 06:09:46] local.INFO: Saved type row warmup  
[2026-03-24 06:09:46] local.INFO: Saved type row warmup  
[2026-03-24 06:09:47] local.INFO: Saved type row warmup  
[2026-03-24 06:09:47] local.INFO: Saved type row warmup  
[2026-03-24 06:09:58] local.INFO: assignWorkoutToClass:  {"workout_id":41,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 06:09:58] local.INFO: Saved type row warmup  
[2026-03-24 06:09:58] local.INFO: Saved type row warmup  
[2026-03-24 06:09:58] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[40,41],"types":["warmup"]} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41]} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[40,41],"types":["Warmup"],"formats":["for-time","emom"]} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-03-24 06:10:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:10:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 06:10:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:10:02] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:10:02] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:10:02] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 06:11:19] local.INFO: storewarmupdaily function called.  
[2026-03-24 06:11:19] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 06:11:19] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":41,"workout_format_type":"emom","workout_format_id":6,"reps":2,"set_number":1,"round_number":null,"training_load":45,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 06:11:19] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-03-24 06:11:19] local.INFO: New warm-up created {"workout_manager_id":41,"workout_format_type":"emom","workout_format_id":6,"round_number":null} 
[2026-03-24 06:12:21] local.INFO: storewarmupdaily function called.  
[2026-03-24 06:12:21] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 06:12:21] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":41,"workout_format_type":"emom","workout_format_id":7,"reps":2,"set_number":2,"round_number":null,"training_load":63,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 06:12:21] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-03-24 06:12:21] local.INFO: New warm-up created {"workout_manager_id":41,"workout_format_type":"emom","workout_format_id":7,"round_number":null} 
[2026-03-24 06:14:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 06:14:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 06:14:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 06:14:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 06:14:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[40,41],"types":["warmup"]} 
[2026-03-24 06:14:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41]} 
[2026-03-24 06:14:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[40,41],"types":["Warmup"],"formats":["for-time","emom"]} 
[2026-03-24 06:14:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 06:14:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 06:14:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 06:14:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 06:14:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 06:14:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-03-24 06:14:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 06:14:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 06:14:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 06:14:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:13] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:13] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:13] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[40,41],"types":["warmup"]} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41]} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[40,41],"types":["Warmup"],"formats":["for-time","emom"]} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-03-24 06:14:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 06:14:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 06:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:16] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:16] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:16] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[40,41],"types":["warmup"]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[40,41],"types":["Warmup"],"formats":["for-time","emom"]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-03-24 06:14:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 06:14:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:17] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:17] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:17] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[40,41],"types":["warmup"]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[40,41],"types":["Warmup"],"formats":["for-time","emom"]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-03-24 06:14:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 06:14:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 06:14:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:17] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:17] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:17] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[40,41],"types":["warmup"]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[40,41],"types":["Warmup"],"formats":["for-time","emom"]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-03-24 06:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[40,41],"types":["warmup"]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41]} 
[2026-03-24 06:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:18] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[40,41],"types":["Warmup"],"formats":["for-time","emom"]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-03-24 06:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 06:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:18] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[40,41],"types":["warmup"]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[40,41],"types":["Warmup"],"formats":["for-time","emom"]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-03-24 06:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 06:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 06:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:14:18] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:14:18] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 06:40:22] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:40:22] local.INFO: Tab value: all  
[2026-03-24 06:40:22] local.INFO: Saved type row warmup  
[2026-03-24 06:40:22] local.INFO: Saved type row warmup  
[2026-03-24 06:40:22] local.INFO: Saved type row warmup  
[2026-03-24 06:40:22] local.INFO: Saved type row warmup  
[2026-03-24 06:40:22] local.INFO: Saved type row warmup  
[2026-03-24 06:40:22] local.INFO: Saved type row warmup  
[2026-03-24 06:40:22] local.INFO: Saved type row warmup  
[2026-03-24 06:40:22] local.INFO: Saved type row warmup  
[2026-03-24 06:40:23] local.INFO: Saved type row warmup  
[2026-03-24 06:40:25] local.INFO: assignWorkoutToClass:  {"workout_id":42,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 06:40:25] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:40:25] local.INFO: Saved type row warmup  
[2026-03-24 06:40:25] local.INFO: Saved type row warmup  
[2026-03-24 06:40:25] local.INFO: Saved type row warmup  
[2026-03-24 06:40:30] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[40,41,42],"types":["warmup"]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[40,41,42],"types":["Warmup"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 06:40:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:40:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 06:40:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 06:40:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:40:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 06:40:30] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:40:30] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 06:40:30] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 06:41:41] local.INFO: storewarmupdaily function called.  
[2026-03-24 06:41:41] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 06:41:41] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":42,"workout_format_type":"intervals","workout_format_id":2,"reps":0,"set_number":1,"round_number":null,"training_load":null,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 06:41:41] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-03-24 06:41:41] local.INFO: New warm-up created {"workout_manager_id":42,"workout_format_type":"intervals","workout_format_id":2,"round_number":null} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[40,41,42],"types":["warmup"]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[40,41,42],"types":["Warmup"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 07:15:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:15:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:15:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:15:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:15:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:15:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:15:54] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:15:54] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:15:54] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:17:03] local.INFO: storewarmupdaily function called.  
[2026-03-24 07:17:03] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:17:03] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":42,"workout_format_type":"intervals","workout_format_id":2,"reps":0,"set_number":1,"round_number":null,"training_load":null,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:17:03] local.INFO: Existing warmup record: {"dailyWarmup":{"id":22,"class_id":273,"member_id":2,"warmup_id":null,"workout_manager_id":42,"workout_format_type":"intervals","workout_format_id":2,"reps":0,"date":"24/03/26 Tuesday","created_at":"2026-03-24T06:41:41.000000Z","updated_at":"2026-03-24T06:41:41.000000Z","exercise_time":"01:00","round_number":null}} 
[2026-03-24 07:17:03] local.INFO: Warm-up updated {"workout_manager_id":42,"workout_format_type":"intervals","workout_format_id":2,"round_number":null} 
[2026-03-24 07:19:11] local.INFO: storewarmupdaily function called.  
[2026-03-24 07:19:11] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:19:11] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":42,"workout_format_type":"intervals","workout_format_id":3,"reps":0,"set_number":1,"round_number":null,"training_load":null,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:19:11] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-03-24 07:19:11] local.INFO: New warm-up created {"workout_manager_id":42,"workout_format_type":"intervals","workout_format_id":3,"round_number":null} 
[2026-03-24 07:21:18] local.INFO: storewarmupdaily function called.  
[2026-03-24 07:21:18] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:21:18] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":42,"workout_format_type":"intervals","workout_format_id":4,"reps":0,"set_number":2,"round_number":null,"training_load":null,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:21:18] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-03-24 07:21:18] local.INFO: New warm-up created {"workout_manager_id":42,"workout_format_type":"intervals","workout_format_id":4,"round_number":null} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[40,41,42],"types":["warmup"]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[40,41,42],"types":["Warmup"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 07:22:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:22:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:22:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:22:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:22:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:22:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:22:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:22:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:22:19] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:22:19] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:22:19] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[40,41,42],"types":["warmup"]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[40,41,42],"types":["Warmup"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 07:24:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:24:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:24:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:24:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:24:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:24:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:24:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:24:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:24:31] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:24:31] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:24:31] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:25:14] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:14] local.INFO: Tab value: all  
[2026-03-24 07:25:14] local.INFO: Saved type row accessory  
[2026-03-24 07:25:14] local.INFO: Saved type row accessory  
[2026-03-24 07:25:14] local.INFO: Saved type row warmup  
[2026-03-24 07:25:14] local.INFO: Saved type row warmup  
[2026-03-24 07:25:14] local.INFO: Saved type row warmup  
[2026-03-24 07:25:15] local.INFO: Saved type row accessory  
[2026-03-24 07:25:15] local.INFO: Saved type row accessory  
[2026-03-24 07:25:15] local.INFO: Saved type row warmup  
[2026-03-24 07:25:15] local.INFO: Saved type row warmup  
[2026-03-24 07:25:15] local.INFO: Saved type row warmup  
[2026-03-24 07:25:15] local.INFO: Saved type row accessory  
[2026-03-24 07:25:15] local.INFO: Saved type row accessory  
[2026-03-24 07:25:15] local.INFO: Saved type row warmup  
[2026-03-24 07:25:15] local.INFO: Saved type row warmup  
[2026-03-24 07:25:15] local.INFO: Saved type row warmup  
[2026-03-24 07:25:24] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:24] local.INFO: Tab value: all  
[2026-03-24 07:25:25] local.INFO: Saved type row accessory  
[2026-03-24 07:25:25] local.INFO: Saved type row accessory  
[2026-03-24 07:25:25] local.INFO: Saved type row warmup  
[2026-03-24 07:25:25] local.INFO: Saved type row warmup  
[2026-03-24 07:25:25] local.INFO: Saved type row warmup  
[2026-03-24 07:25:25] local.INFO: Saved type row accessory  
[2026-03-24 07:25:25] local.INFO: Saved type row accessory  
[2026-03-24 07:25:25] local.INFO: Saved type row warmup  
[2026-03-24 07:25:25] local.INFO: Saved type row warmup  
[2026-03-24 07:25:25] local.INFO: Saved type row warmup  
[2026-03-24 07:25:25] local.INFO: Saved type row accessory  
[2026-03-24 07:25:25] local.INFO: Saved type row accessory  
[2026-03-24 07:25:25] local.INFO: Saved type row warmup  
[2026-03-24 07:25:25] local.INFO: Saved type row warmup  
[2026-03-24 07:25:25] local.INFO: Saved type row warmup  
[2026-03-24 07:25:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[40,41,42],"types":["warmup"]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[40,41,42],"types":["Warmup"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 07:25:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:25:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:25:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:29] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[40,41,42],"types":["warmup"]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[40,41,42],"types":["Warmup"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 07:25:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:25:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:25:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:30] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:30] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:30] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[40,41,42],"types":["warmup"]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[40,41,42],"types":["Warmup"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 07:25:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:25:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:25:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:31] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:31] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:31] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[40,41,42],"types":["warmup"]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[40,41,42],"types":["Warmup"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 07:25:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:25:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:25:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:32] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:32] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:32] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[40,41,42],"types":["warmup"]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[40,41,42],"types":["Warmup"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 07:25:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:25:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:25:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:33] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:33] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:33] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[40,41,42],"types":["warmup"]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[40,41,42],"types":["Warmup"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:34] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:34] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[40,41,42],"types":["warmup"]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[40,41,42],"types":["Warmup"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:34] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:34] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:34] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:25:40] local.INFO: assignWorkoutToClass:  {"workout_id":44,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 07:25:40] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-03-24 07:25:40 where `id` = 273) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-03-24 07:25:40 where `id` = 273) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:608)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(608): PDO->prepare('update `classes...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `classes...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-03-24 07:25:48] local.INFO: assignWorkoutToClass:  {"workout_id":44,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 07:25:48] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-03-24 07:25:48 where `id` = 273) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-03-24 07:25:48 where `id` = 273) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:608)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(608): PDO->prepare('update `classes...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `classes...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-03-24 07:25:55] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:55] local.INFO: Tab value: all  
[2026-03-24 07:25:55] local.INFO: Saved type row accessory  
[2026-03-24 07:25:55] local.INFO: Saved type row accessory  
[2026-03-24 07:25:55] local.INFO: Saved type row warmup  
[2026-03-24 07:25:55] local.INFO: Saved type row warmup  
[2026-03-24 07:25:55] local.INFO: Saved type row warmup  
[2026-03-24 07:25:55] local.INFO: Saved type row accessory  
[2026-03-24 07:25:55] local.INFO: Saved type row accessory  
[2026-03-24 07:25:55] local.INFO: Saved type row warmup  
[2026-03-24 07:25:55] local.INFO: Saved type row warmup  
[2026-03-24 07:25:55] local.INFO: Saved type row warmup  
[2026-03-24 07:25:56] local.INFO: Saved type row accessory  
[2026-03-24 07:25:56] local.INFO: Saved type row accessory  
[2026-03-24 07:25:56] local.INFO: Saved type row warmup  
[2026-03-24 07:25:56] local.INFO: Saved type row warmup  
[2026-03-24 07:25:56] local.INFO: Saved type row warmup  
[2026-03-24 07:25:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[40,41,42,44],"types":["warmup","accessory"]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[40,41,42,44],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":0,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 07:25:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:25:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:25:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:25:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:25:58] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:58] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:25:58] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:27:05] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:27:05] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":44,"workout_format_type":"intervals","workout_format_id":9,"reps":0,"set_number":1,"round_number":null,"training_load":null,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:27:05] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-03-24 07:27:05] local.INFO: New accessory record created {"workout_manager_id":44,"set_number":1} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[40,41,42,44],"types":["warmup","accessory"]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[40,41,42,44],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":0,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:28:05] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:28:05] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[40,41,42,44],"types":["warmup","accessory"]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[40,41,42,44],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":0,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:05] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:28:05] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:28:05] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[40,41,42,44],"types":["warmup","accessory"]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[40,41,42,44],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":0,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 07:28:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:28:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:28:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:28:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:28:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:28:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:28:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:28:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:28:21] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:28:21] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:28:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:28:52] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:28:52] local.INFO: Tab value: all  
[2026-03-24 07:28:52] local.INFO: Saved type row accessory  
[2026-03-24 07:28:52] local.INFO: Saved type row accessory  
[2026-03-24 07:28:52] local.INFO: Saved type row accessory  
[2026-03-24 07:28:52] local.INFO: Saved type row warmup  
[2026-03-24 07:28:52] local.INFO: Saved type row warmup  
[2026-03-24 07:28:52] local.INFO: Saved type row warmup  
[2026-03-24 07:28:53] local.INFO: Saved type row accessory  
[2026-03-24 07:28:53] local.INFO: Saved type row accessory  
[2026-03-24 07:28:53] local.INFO: Saved type row accessory  
[2026-03-24 07:28:53] local.INFO: Saved type row warmup  
[2026-03-24 07:28:53] local.INFO: Saved type row warmup  
[2026-03-24 07:28:53] local.INFO: Saved type row warmup  
[2026-03-24 07:28:53] local.INFO: Saved type row accessory  
[2026-03-24 07:28:53] local.INFO: Saved type row accessory  
[2026-03-24 07:28:53] local.INFO: Saved type row accessory  
[2026-03-24 07:28:53] local.INFO: Saved type row warmup  
[2026-03-24 07:28:53] local.INFO: Saved type row warmup  
[2026-03-24 07:28:53] local.INFO: Saved type row warmup  
[2026-03-24 07:28:55] local.INFO: assignWorkoutToClass:  {"workout_id":45,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 07:28:55] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-03-24 07:28:55 where `id` = 273) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-03-24 07:28:55 where `id` = 273) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:608)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(608): PDO->prepare('update `classes...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `classes...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-03-24 07:29:01] local.INFO: Tab value: all  
[2026-03-24 07:29:01] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:29:02] local.INFO: Saved type row accessory  
[2026-03-24 07:29:02] local.INFO: Saved type row accessory  
[2026-03-24 07:29:02] local.INFO: Saved type row accessory  
[2026-03-24 07:29:02] local.INFO: Saved type row warmup  
[2026-03-24 07:29:02] local.INFO: Saved type row warmup  
[2026-03-24 07:29:02] local.INFO: Saved type row warmup  
[2026-03-24 07:29:02] local.INFO: Saved type row accessory  
[2026-03-24 07:29:02] local.INFO: Saved type row accessory  
[2026-03-24 07:29:02] local.INFO: Saved type row accessory  
[2026-03-24 07:29:02] local.INFO: Saved type row warmup  
[2026-03-24 07:29:02] local.INFO: Saved type row warmup  
[2026-03-24 07:29:02] local.INFO: Saved type row warmup  
[2026-03-24 07:29:02] local.INFO: Saved type row accessory  
[2026-03-24 07:29:02] local.INFO: Saved type row accessory  
[2026-03-24 07:29:02] local.INFO: Saved type row accessory  
[2026-03-24 07:29:02] local.INFO: Saved type row warmup  
[2026-03-24 07:29:02] local.INFO: Saved type row warmup  
[2026-03-24 07:29:02] local.INFO: Saved type row warmup  
[2026-03-24 07:29:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:29:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:29:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:29:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:29:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:29:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:29:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:29:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:29:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:29:04] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:29:04] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:29:04] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:29:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:29:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:29:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:29:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:29:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:29:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:29:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:29:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:29:05] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:29:05] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:29:05] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:29:19] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:29:19] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":45,"workout_format_type":"emom","workout_format_id":8,"reps":2,"set_number":1,"round_number":null,"training_load":45,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:29:19] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-03-24 07:29:19] local.INFO: New accessory record created {"workout_manager_id":45,"set_number":1} 
[2026-03-24 07:30:21] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:30:21] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":45,"workout_format_type":"emom","workout_format_id":9,"reps":2,"set_number":2,"round_number":null,"training_load":63,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:30:21] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-03-24 07:30:21] local.INFO: New accessory record created {"workout_manager_id":45,"set_number":2} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:30:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:30:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:30:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:41] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:30:41] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:30:41] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:30:42] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:30:42] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:42] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:30:42] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:30:42] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:30:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:30:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:30:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:43] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:30:43] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:30:43] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:30:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:30:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:30:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:44] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:30:44] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:30:44] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:30:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:30:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:30:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:30:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:30:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:30:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:30:49] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:30:49] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:30:49] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:31:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:31:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:04] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:04] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:04] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:31:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:31:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:05] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:05] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:05] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:31:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:31:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:07] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:07] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:07] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:07] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:07] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:07] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:31:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:31:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:08] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:08] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:08] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:31:27] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:31:27] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":44,"workout_format_type":"intervals","workout_format_id":9,"reps":0,"weight":12,"date":"24/03/26 Tuesday","set_number":1,"class_Id":273},{"workout_manager_id":44,"workout_format_type":"intervals","workout_format_id":10,"reps":0,"weight":13,"date":"24/03/26 Tuesday","set_number":1,"class_Id":273}]} 
[2026-03-24 07:31:27] local.INFO: Existing accessory record: {"dailyAccessory":{"id":1,"class_id":273,"round_number":null,"member_id":2,"workout_manager_id":44,"workout_format_type":"intervals","workout_format_id":9,"set_number":1,"reps":0,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T07:27:05.000000Z","updated_at":"2026-03-24T07:27:05.000000Z","exercise_time":"01:00"}} 
[2026-03-24 07:31:27] local.INFO: Accessory updated {"workout_manager_id":44,"set_number":1} 
[2026-03-24 07:31:27] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-03-24 07:31:27] local.INFO: New accessory record created {"workout_manager_id":44,"set_number":1} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:31:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:31:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:27] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:27] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:27] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:31:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:31:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:34] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:34] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:34] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:31:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:31:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:35] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:35] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:35] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:31:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:31:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:37] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:37] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:37] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:31:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:31:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:38] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:38] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:38] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:31:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:31:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:39] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:39] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:39] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[40,41,42,44,45],"types":["warmup","accessory"]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[40,41,42,44,45],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals"]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":3},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 07:31:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:31:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:31:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:31:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:31:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:31:45] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:45] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:31:45] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:32:49] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:32:49] local.INFO: Tab value: all  
[2026-03-24 07:32:49] local.INFO: Saved type row accessory  
[2026-03-24 07:32:49] local.INFO: Saved type row accessory  
[2026-03-24 07:32:49] local.INFO: Saved type row accessory  
[2026-03-24 07:32:49] local.INFO: Saved type row accessory  
[2026-03-24 07:32:49] local.INFO: Saved type row warmup  
[2026-03-24 07:32:49] local.INFO: Saved type row warmup  
[2026-03-24 07:32:49] local.INFO: Saved type row warmup  
[2026-03-24 07:32:49] local.INFO: Saved type row accessory  
[2026-03-24 07:32:49] local.INFO: Saved type row accessory  
[2026-03-24 07:32:49] local.INFO: Saved type row accessory  
[2026-03-24 07:32:49] local.INFO: Saved type row accessory  
[2026-03-24 07:32:49] local.INFO: Saved type row warmup  
[2026-03-24 07:32:49] local.INFO: Saved type row warmup  
[2026-03-24 07:32:49] local.INFO: Saved type row warmup  
[2026-03-24 07:32:50] local.INFO: Saved type row accessory  
[2026-03-24 07:32:50] local.INFO: Saved type row accessory  
[2026-03-24 07:32:50] local.INFO: Saved type row accessory  
[2026-03-24 07:32:50] local.INFO: Saved type row accessory  
[2026-03-24 07:32:50] local.INFO: Saved type row warmup  
[2026-03-24 07:32:50] local.INFO: Saved type row warmup  
[2026-03-24 07:32:50] local.INFO: Saved type row warmup  
[2026-03-24 07:33:40] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:33:40] local.INFO: Tab value: all  
[2026-03-24 07:33:40] local.INFO: Saved type row accessory  
[2026-03-24 07:33:40] local.INFO: Saved type row accessory  
[2026-03-24 07:33:40] local.INFO: Saved type row accessory  
[2026-03-24 07:33:40] local.INFO: Saved type row accessory  
[2026-03-24 07:33:40] local.INFO: Saved type row accessory  
[2026-03-24 07:33:40] local.INFO: Saved type row warmup  
[2026-03-24 07:33:40] local.INFO: Saved type row warmup  
[2026-03-24 07:33:40] local.INFO: Saved type row warmup  
[2026-03-24 07:33:40] local.INFO: Saved type row accessory  
[2026-03-24 07:33:40] local.INFO: Saved type row accessory  
[2026-03-24 07:33:40] local.INFO: Saved type row accessory  
[2026-03-24 07:33:40] local.INFO: Saved type row accessory  
[2026-03-24 07:33:40] local.INFO: Saved type row accessory  
[2026-03-24 07:33:40] local.INFO: Saved type row warmup  
[2026-03-24 07:33:40] local.INFO: Saved type row warmup  
[2026-03-24 07:33:40] local.INFO: Saved type row warmup  
[2026-03-24 07:33:41] local.INFO: Saved type row accessory  
[2026-03-24 07:33:41] local.INFO: Saved type row accessory  
[2026-03-24 07:33:41] local.INFO: Saved type row accessory  
[2026-03-24 07:33:41] local.INFO: Saved type row accessory  
[2026-03-24 07:33:41] local.INFO: Saved type row accessory  
[2026-03-24 07:33:41] local.INFO: Saved type row warmup  
[2026-03-24 07:33:41] local.INFO: Saved type row warmup  
[2026-03-24 07:33:41] local.INFO: Saved type row warmup  
[2026-03-24 07:33:42] local.INFO: assignWorkoutToClass:  {"workout_id":47,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 07:33:43] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-03-24 07:33:43 where `id` = 273) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-03-24 07:33:43 where `id` = 273) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:608)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(608): PDO->prepare('update `classes...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `classes...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-03-24 07:33:44] local.INFO: assignWorkoutToClass:  {"workout_id":46,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 07:33:45] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-03-24 07:33:45 where `id` = 273) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-03-24 07:33:45 where `id` = 273) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:608)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(608): PDO->prepare('update `classes...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `classes...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-03-24 07:33:50] local.INFO: Tab value: all  
[2026-03-24 07:33:50] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row warmup  
[2026-03-24 07:33:51] local.INFO: Saved type row warmup  
[2026-03-24 07:33:51] local.INFO: Saved type row warmup  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row warmup  
[2026-03-24 07:33:51] local.INFO: Saved type row warmup  
[2026-03-24 07:33:51] local.INFO: Saved type row warmup  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row accessory  
[2026-03-24 07:33:51] local.INFO: Saved type row warmup  
[2026-03-24 07:33:51] local.INFO: Saved type row warmup  
[2026-03-24 07:33:51] local.INFO: Saved type row warmup  
[2026-03-24 07:33:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":0,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":5},"straights":{"seen":3,"matched":0,"not_matched":3,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:33:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:33:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:33:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:33:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:33:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:33:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:33:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:33:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:33:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:33:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:33:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":0,"daily_reps":0,"target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:33:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:33:55] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:33:55] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:33:55] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:36:10] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:36:10] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":46,"workout_format_type":"straight-sets","workout_format_id":122,"reps":3,"weight":0,"date":"24/03/26 Tuesday","set_number":2,"class_Id":273}]} 
[2026-03-24 07:36:10] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-03-24 07:36:10] local.INFO: New accessory record created {"workout_manager_id":46,"set_number":2} 
[2026-03-24 07:36:35] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:36:35] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":46,"workout_format_type":"straight-sets","workout_format_id":121,"reps":2,"weight":0,"date":"24/03/26 Tuesday","set_number":1,"class_Id":273},{"workout_manager_id":46,"workout_format_type":"straight-sets","workout_format_id":122,"reps":3,"weight":0,"date":"24/03/26 Tuesday","set_number":2,"class_Id":273}]} 
[2026-03-24 07:36:35] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-03-24 07:36:35] local.INFO: New accessory record created {"workout_manager_id":46,"set_number":1} 
[2026-03-24 07:36:35] local.INFO: Existing accessory record: {"dailyAccessory":{"id":5,"class_id":273,"round_number":null,"member_id":2,"workout_manager_id":46,"workout_format_type":"straight-sets","workout_format_id":122,"set_number":2,"reps":3,"weight":"0","date":"24/03/26 Tuesday","created_at":"2026-03-24T07:36:10.000000Z","updated_at":"2026-03-24T07:36:10.000000Z","exercise_time":null}} 
[2026-03-24 07:36:35] local.INFO: Accessory updated {"workout_manager_id":46,"set_number":2} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":0,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":5},"straights":{"seen":3,"matched":0,"not_matched":3,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:37:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:37:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:37:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:37:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:37:03] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:37:03] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:37:03] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":0,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":5},"straights":{"seen":3,"matched":0,"not_matched":3,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:37:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:37:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:37:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:37:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:37:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:37:11] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":0,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":0,"not_matched":4,"empty":5},"straights":{"seen":3,"matched":0,"not_matched":3,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:37:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:37:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:37:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:37:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:37:20] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:37:20] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:37:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[66]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"}}} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:37:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:37:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:37:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:37:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:37:41] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:37:41] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:37:41] local.INFO: Tests retrieved {"count":1,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[66]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"}}} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:37:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:37:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:37:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:37:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:37:47] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:37:47] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:37:47] local.INFO: Tests retrieved {"count":1,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[66]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"}}} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:37:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:37:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:37:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:37:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:37:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:37:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:37:58] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:37:58] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:37:58] local.INFO: Tests retrieved {"count":1,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,120],"test_ids":[66,67]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"}}} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:38:22] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:22] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:38:22] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:22] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:22] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:22] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:22] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:22] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:22] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:22] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:22] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:38:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:38:22] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:22] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:22] local.INFO: Tests retrieved {"count":2,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,120],"test_ids":[66,67]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"}}} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:38:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:38:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:38:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:38:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:26] local.INFO: Tests retrieved {"count":2,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:38:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:38:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:38:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,120],"test_ids":[66,67]} 
[2026-03-24 07:38:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"}}} 
[2026-03-24 07:38:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:38:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:38:32] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:32] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:32] local.INFO: Tests retrieved {"count":2,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,120],"test_ids":[66,67]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"}}} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:38:32] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:32] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:32] local.INFO: Tests retrieved {"count":2,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,120],"test_ids":[66,67]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"}}} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:38:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:38:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:38:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:38:33] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:33] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:33] local.INFO: Tests retrieved {"count":2,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,120],"test_ids":[66,67]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"}}} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:38:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:38:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:38:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:38:41] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:41] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:41] local.INFO: Tests retrieved {"count":2,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,120],"test_ids":[66,67]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"}}} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:38:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:38:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:38:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:38:49] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:49] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:49] local.INFO: Tests retrieved {"count":2,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,120],"test_ids":[66,67]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"}}} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:38:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:38:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:38:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:38:50] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:50] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:50] local.INFO: Tests retrieved {"count":2,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,120],"test_ids":[66,67]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"}}} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:38:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:38:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:38:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:38:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:38:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:38:52] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:52] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:38:52] local.INFO: Tests retrieved {"count":2,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,120],"test_ids":[66,67]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"}}} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"available_test_library_ids":[16,120]} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":2,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":1,"not_matched":2,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:39:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:39:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:39:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:39:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:39:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:39:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:39:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:39:35] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:39:35] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:39:35] local.INFO: Tests retrieved {"count":2,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":5,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:39:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:39:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:39:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:39:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:39:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:39:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:39:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:39:47] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:39:47] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:39:47] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:39:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:39:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:39:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:39:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:39:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:39:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:39:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:39:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:39:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":5,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:39:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:39:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:39:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:39:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:39:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:39:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:39:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:39:51] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:39:51] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:39:51] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":5,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:39:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:39:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:39:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:39:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:39:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:39:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:39:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 07:39:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-03-24 07:39:52] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:39:52] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:39:52] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:40:10] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:40:10] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":47,"workout_format_type":"straight-sets","workout_format_id":123,"reps":3,"weight":1.75,"date":"24/03/26 Tuesday","set_number":1,"class_Id":273},{"workout_manager_id":47,"workout_format_type":"straight-sets","workout_format_id":124,"reps":3,"weight":2.5,"date":"24/03/26 Tuesday","set_number":2,"class_Id":273},{"workout_manager_id":47,"workout_format_type":"straight-sets","workout_format_id":125,"reps":4,"weight":2.5,"date":"24/03/26 Tuesday","set_number":1,"class_Id":273},{"workout_manager_id":47,"workout_format_type":"straight-sets","workout_format_id":126,"reps":4,"weight":3.5,"date":"24/03/26 Tuesday","set_number":2,"class_Id":273}]} 
[2026-03-24 07:40:10] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-03-24 07:40:10] local.INFO: New accessory record created {"workout_manager_id":47,"set_number":1} 
[2026-03-24 07:40:10] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-03-24 07:40:10] local.INFO: New accessory record created {"workout_manager_id":47,"set_number":2} 
[2026-03-24 07:40:10] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-03-24 07:40:10] local.INFO: New accessory record created {"workout_manager_id":47,"set_number":1} 
[2026-03-24 07:40:10] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-03-24 07:40:10] local.INFO: New accessory record created {"workout_manager_id":47,"set_number":2} 
[2026-03-24 07:40:56] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:40:56] local.INFO: Tab value: all  
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row warmup  
[2026-03-24 07:40:57] local.INFO: Saved type row warmup  
[2026-03-24 07:40:57] local.INFO: Saved type row warmup  
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row warmup  
[2026-03-24 07:40:57] local.INFO: Saved type row warmup  
[2026-03-24 07:40:57] local.INFO: Saved type row warmup  
[2026-03-24 07:40:57] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[40,41,42,44,45,47,46],"types":["warmup","accessory"]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[40,41,42,44,45,46,47],"types":["Warmup","Accessory"],"formats":["for-time","emom","intervals","straight-sets"]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":5,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":7},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":5},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":5},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:40:57] local.INFO: Saved type row accessory  
[2026-03-24 07:40:57] local.INFO: Saved type row warmup  
[2026-03-24 07:40:57] local.INFO: Saved type row warmup  
[2026-03-24 07:40:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:40:57] local.INFO: Saved type row warmup  
[2026-03-24 07:40:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:40:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:40:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:40:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:40:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:40:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:40:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:40:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:40:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:40:57] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:40:57] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:40:57] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:41:21] local.INFO: AMRAP row processing {"managerId":51,"index":"1","exercise":"Bike erg","workout_library_id":21} 
[2026-03-24 07:41:21] local.INFO: Saved AMRAP row 1  
[2026-03-24 07:41:21] local.INFO: AMRAP row processing {"managerId":51,"index":"2","exercise":"KB strict press","workout_library_id":50} 
[2026-03-24 07:41:21] local.INFO: Saved AMRAP row 2  
[2026-03-24 07:41:24] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:41:24] local.INFO: Tab value: all  
[2026-03-24 07:41:25] local.INFO: Saved type row conditioning  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row warmup  
[2026-03-24 07:41:25] local.INFO: Saved type row warmup  
[2026-03-24 07:41:25] local.INFO: Saved type row warmup  
[2026-03-24 07:41:25] local.INFO: Saved type row conditioning  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row warmup  
[2026-03-24 07:41:25] local.INFO: Saved type row warmup  
[2026-03-24 07:41:25] local.INFO: Saved type row warmup  
[2026-03-24 07:41:25] local.INFO: Saved type row conditioning  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row accessory  
[2026-03-24 07:41:25] local.INFO: Saved type row warmup  
[2026-03-24 07:41:25] local.INFO: Saved type row warmup  
[2026-03-24 07:41:25] local.INFO: Saved type row warmup  
[2026-03-24 07:41:28] local.INFO: assignWorkoutToClass:  {"workout_id":51,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 07:41:28] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:41:28] local.INFO: Saved type row conditioning  
[2026-03-24 07:41:28] local.INFO: Saved type row accessory  
[2026-03-24 07:41:28] local.INFO: Saved type row accessory  
[2026-03-24 07:41:28] local.INFO: Saved type row accessory  
[2026-03-24 07:41:28] local.INFO: Saved type row accessory  
[2026-03-24 07:41:28] local.INFO: Saved type row accessory  
[2026-03-24 07:41:28] local.INFO: Saved type row warmup  
[2026-03-24 07:41:28] local.INFO: Saved type row warmup  
[2026-03-24 07:41:28] local.INFO: Saved type row warmup  
[2026-03-24 07:41:57] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:41:57] local.INFO: Tab value: all  
[2026-03-24 07:41:57] local.INFO: Saved type row conditioning  
[2026-03-24 07:41:57] local.INFO: Saved type row conditioning  
[2026-03-24 07:41:57] local.INFO: Saved type row accessory  
[2026-03-24 07:41:57] local.INFO: Saved type row accessory  
[2026-03-24 07:41:57] local.INFO: Saved type row accessory  
[2026-03-24 07:41:57] local.INFO: Saved type row accessory  
[2026-03-24 07:41:57] local.INFO: Saved type row accessory  
[2026-03-24 07:41:57] local.INFO: Saved type row warmup  
[2026-03-24 07:41:57] local.INFO: Saved type row warmup  
[2026-03-24 07:41:57] local.INFO: Saved type row warmup  
[2026-03-24 07:41:58] local.INFO: Saved type row conditioning  
[2026-03-24 07:41:58] local.INFO: Saved type row conditioning  
[2026-03-24 07:41:58] local.INFO: Saved type row accessory  
[2026-03-24 07:41:58] local.INFO: Saved type row accessory  
[2026-03-24 07:41:58] local.INFO: Saved type row accessory  
[2026-03-24 07:41:58] local.INFO: Saved type row accessory  
[2026-03-24 07:41:58] local.INFO: Saved type row accessory  
[2026-03-24 07:41:58] local.INFO: Saved type row warmup  
[2026-03-24 07:41:58] local.INFO: Saved type row warmup  
[2026-03-24 07:41:58] local.INFO: Saved type row warmup  
[2026-03-24 07:41:58] local.INFO: Saved type row conditioning  
[2026-03-24 07:41:58] local.INFO: Saved type row conditioning  
[2026-03-24 07:41:58] local.INFO: Saved type row accessory  
[2026-03-24 07:41:58] local.INFO: Saved type row accessory  
[2026-03-24 07:41:58] local.INFO: Saved type row accessory  
[2026-03-24 07:41:58] local.INFO: Saved type row accessory  
[2026-03-24 07:41:58] local.INFO: Saved type row accessory  
[2026-03-24 07:41:58] local.INFO: Saved type row warmup  
[2026-03-24 07:41:58] local.INFO: Saved type row warmup  
[2026-03-24 07:41:58] local.INFO: Saved type row warmup  
[2026-03-24 07:42:00] local.INFO: assignWorkoutToClass:  {"workout_id":52,"class_id":"all","type":"workout_manager","action":"assign_all","date":"24/03/26 Tuesday"} 
[2026-03-24 07:42:00] local.ERROR: Illuminate\Log\LogManager::info(): Argument #2 ($context) must be of type array, string given, called in /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 {"userId":1,"exception":"[object] (TypeError(code: 0): Illuminate\\Log\\LogManager::info(): Argument #2 ($context) must be of type array, string given, called in /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:720)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(355): Illuminate\\Log\\LogManager->info('Workout assigne...', 'workout_manager')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1082): Illuminate\\Support\\Facades\\Facade::__callStatic('info', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#50 {main}
"} 
[2026-03-24 07:42:07] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:07] local.INFO: Tab value: all  
[2026-03-24 07:42:08] local.INFO: Saved type row conditioning  
[2026-03-24 07:42:08] local.INFO: Saved type row conditioning  
[2026-03-24 07:42:08] local.INFO: Saved type row accessory  
[2026-03-24 07:42:08] local.INFO: Saved type row accessory  
[2026-03-24 07:42:08] local.INFO: Saved type row accessory  
[2026-03-24 07:42:08] local.INFO: Saved type row accessory  
[2026-03-24 07:42:08] local.INFO: Saved type row accessory  
[2026-03-24 07:42:08] local.INFO: Saved type row warmup  
[2026-03-24 07:42:08] local.INFO: Saved type row warmup  
[2026-03-24 07:42:08] local.INFO: Saved type row warmup  
[2026-03-24 07:42:08] local.INFO: Saved type row conditioning  
[2026-03-24 07:42:08] local.INFO: Saved type row conditioning  
[2026-03-24 07:42:08] local.INFO: Saved type row accessory  
[2026-03-24 07:42:08] local.INFO: Saved type row accessory  
[2026-03-24 07:42:08] local.INFO: Saved type row accessory  
[2026-03-24 07:42:08] local.INFO: Saved type row accessory  
[2026-03-24 07:42:08] local.INFO: Saved type row accessory  
[2026-03-24 07:42:08] local.INFO: Saved type row warmup  
[2026-03-24 07:42:08] local.INFO: Saved type row warmup  
[2026-03-24 07:42:08] local.INFO: Saved type row warmup  
[2026-03-24 07:42:09] local.INFO: Saved type row conditioning  
[2026-03-24 07:42:09] local.INFO: Saved type row conditioning  
[2026-03-24 07:42:09] local.INFO: Saved type row accessory  
[2026-03-24 07:42:09] local.INFO: Saved type row accessory  
[2026-03-24 07:42:09] local.INFO: Saved type row accessory  
[2026-03-24 07:42:09] local.INFO: Saved type row accessory  
[2026-03-24 07:42:09] local.INFO: Saved type row accessory  
[2026-03-24 07:42:09] local.INFO: Saved type row warmup  
[2026-03-24 07:42:09] local.INFO: Saved type row warmup  
[2026-03-24 07:42:09] local.INFO: Saved type row warmup  
[2026-03-24 07:42:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":14,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":15,"workout_libraries_id":50,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:42:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:42:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:42:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:42:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":14,"class_id":273,"round_entries":[]} 
[2026-03-24 07:42:11] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:42:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":15,"class_id":273,"round_entries":[]} 
[2026-03-24 07:42:11] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":51,"workout_libraries_id":50,"training_load":23,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:11] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":14,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":15,"workout_libraries_id":50,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:42:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:42:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:42:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:12] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:12] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:12] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:12] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:42:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":14,"class_id":273,"round_entries":[]} 
[2026-03-24 07:42:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:42:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":15,"class_id":273,"round_entries":[]} 
[2026-03-24 07:42:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":51,"workout_libraries_id":50,"training_load":23,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:12] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:12] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:12] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":14,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":15,"workout_libraries_id":50,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:42:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:42:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:42:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:42:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":14,"class_id":273,"round_entries":[]} 
[2026-03-24 07:42:13] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:42:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":15,"class_id":273,"round_entries":[]} 
[2026-03-24 07:42:13] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":51,"workout_libraries_id":50,"training_load":23,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:13] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:13] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:13] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":14,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":15,"workout_libraries_id":50,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:42:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:42:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:42:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:42:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":14,"class_id":273,"round_entries":[]} 
[2026-03-24 07:42:14] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:42:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":15,"class_id":273,"round_entries":[]} 
[2026-03-24 07:42:14] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":51,"workout_libraries_id":50,"training_load":23,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:14] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:14] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:14] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:42:30] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:42:30] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:42:30] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":14,"reps":2,"round_number":"1/8","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":15,"reps":5,"round_number":"1/8","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:42:30] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:30] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:30] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:30] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:31] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:42:31] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:42:31] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":14,"reps":2,"round_number":"2/8","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":15,"reps":5,"round_number":"2/8","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:42:31] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:31] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:31] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:31] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:31] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:42:31] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:42:31] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":14,"reps":2,"round_number":"3/8","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":15,"reps":5,"round_number":"3/8","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:42:31] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:31] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:31] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:31] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:32] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:42:32] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:42:32] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":14,"reps":2,"round_number":"4/8","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":15,"reps":5,"round_number":"4/8","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:42:32] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:32] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:32] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:32] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:32] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:42:32] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:42:32] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":14,"reps":2,"round_number":"5/8","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":15,"reps":5,"round_number":"5/8","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:42:32] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:32] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:32] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:32] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:33] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:42:33] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:42:33] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":14,"reps":2,"round_number":"6/8","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":15,"reps":5,"round_number":"6/8","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:42:33] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:33] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:33] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:33] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:33] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:42:33] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:42:33] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":14,"reps":2,"round_number":"7/8","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":15,"reps":5,"round_number":"7/8","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:42:33] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:33] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:33] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:33] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:34] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:42:34] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:42:34] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":14,"reps":2,"round_number":"8/8","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":15,"reps":5,"round_number":"8/8","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:42:34] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:34] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:34] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:34] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:44] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:42:44] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:42:44] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":14,"reps":2,"round_number":"1/1","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":15,"reps":5,"round_number":"1/1","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:42:44] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:44] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:44] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:42:44] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":14,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":15,"workout_libraries_id":50,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:42:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:42:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:42:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:42:50] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":14,"class_id":273,"round_entries":["1/8","2/8","3/8","4/8","5/8","6/8","7/8","8/8","1/1"]} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"1/8","done":"1","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"2/8","done":"2","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"3/8","done":"3","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"4/8","done":"4","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"5/8","done":"5","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"6/8","done":"6","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"7/8","done":"7","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"8/8","done":"8","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-03-24 07:42:50] local.INFO: Updated rounds done/total {"rounds_done":8,"rounds_total":1} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:42:50] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":15,"class_id":273,"round_entries":["1/8","2/8","3/8","4/8","5/8","6/8","7/8","8/8","1/1"]} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"1/8","done":"1","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"2/8","done":"2","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"3/8","done":"3","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"4/8","done":"4","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"5/8","done":"5","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"6/8","done":"6","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"7/8","done":"7","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"8/8","done":"8","total":"8"} 
[2026-03-24 07:42:50] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-03-24 07:42:50] local.INFO: Updated rounds done/total {"rounds_done":8,"rounds_total":1} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":8,"rounds_total":1,"completion_percent":800.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":51,"workout_libraries_id":50,"training_load":23,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":8,"rounds_total":1,"completion_percent":800.0,"workout_library":{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:50] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:50] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:50] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:42:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":14,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":15,"workout_libraries_id":50,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:42:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:42:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:42:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:42:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:42:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:42:51] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":14,"class_id":273,"round_entries":["1/8","2/8","3/8","4/8","5/8","6/8","7/8","8/8","1/1"]} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"1/8","done":"1","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"2/8","done":"2","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"3/8","done":"3","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"4/8","done":"4","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"5/8","done":"5","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"6/8","done":"6","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"7/8","done":"7","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"8/8","done":"8","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-03-24 07:42:51] local.INFO: Updated rounds done/total {"rounds_done":8,"rounds_total":1} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:42:51] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":15,"class_id":273,"round_entries":["1/8","2/8","3/8","4/8","5/8","6/8","7/8","8/8","1/1"]} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"1/8","done":"1","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"2/8","done":"2","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"3/8","done":"3","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"4/8","done":"4","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"5/8","done":"5","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"6/8","done":"6","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"7/8","done":"7","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"8/8","done":"8","total":"8"} 
[2026-03-24 07:42:51] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-03-24 07:42:51] local.INFO: Updated rounds done/total {"rounds_done":8,"rounds_total":1} 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":8,"rounds_total":1,"completion_percent":800.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":51,"workout_libraries_id":50,"training_load":23,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":8,"rounds_total":1,"completion_percent":800.0,"workout_library":{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:42:51] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:51] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:42:51] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":14,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":15,"workout_libraries_id":50,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:43:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:43:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":14,"class_id":273,"round_entries":["1/8","2/8","3/8","4/8","5/8","6/8","7/8","8/8","1/1"]} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"1/8","done":"1","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"2/8","done":"2","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"3/8","done":"3","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"4/8","done":"4","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"5/8","done":"5","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"6/8","done":"6","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"7/8","done":"7","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"8/8","done":"8","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-03-24 07:43:08] local.INFO: Updated rounds done/total {"rounds_done":8,"rounds_total":1} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":15,"class_id":273,"round_entries":["1/8","2/8","3/8","4/8","5/8","6/8","7/8","8/8","1/1"]} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"1/8","done":"1","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"2/8","done":"2","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"3/8","done":"3","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"4/8","done":"4","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"5/8","done":"5","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"6/8","done":"6","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"7/8","done":"7","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"8/8","done":"8","total":"8"} 
[2026-03-24 07:43:08] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-03-24 07:43:08] local.INFO: Updated rounds done/total {"rounds_done":8,"rounds_total":1} 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":8,"rounds_total":1,"completion_percent":800.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":51,"workout_libraries_id":50,"training_load":23,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":8,"rounds_total":1,"completion_percent":800.0,"workout_library":{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:08] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:08] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:08] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":14,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":15,"workout_libraries_id":50,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:43:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:43:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":14,"class_id":273,"round_entries":["1/8","2/8","3/8","4/8","5/8","6/8","7/8","8/8","1/1"]} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"1/8","done":"1","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"2/8","done":"2","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"3/8","done":"3","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"4/8","done":"4","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"5/8","done":"5","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"6/8","done":"6","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"7/8","done":"7","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"8/8","done":"8","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-03-24 07:43:09] local.INFO: Updated rounds done/total {"rounds_done":8,"rounds_total":1} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":15,"class_id":273,"round_entries":["1/8","2/8","3/8","4/8","5/8","6/8","7/8","8/8","1/1"]} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"1/8","done":"1","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"2/8","done":"2","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"3/8","done":"3","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"4/8","done":"4","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"5/8","done":"5","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"6/8","done":"6","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"7/8","done":"7","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"8/8","done":"8","total":"8"} 
[2026-03-24 07:43:09] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-03-24 07:43:09] local.INFO: Updated rounds done/total {"rounds_done":8,"rounds_total":1} 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":8,"rounds_total":1,"completion_percent":800.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":51,"workout_libraries_id":50,"training_load":23,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":8,"rounds_total":1,"completion_percent":800.0,"workout_library":{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:09] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:09] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:09] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":14,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":15,"workout_libraries_id":50,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:43:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:43:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":14,"class_id":273,"round_entries":["1/8","2/8","3/8","4/8","5/8","6/8","7/8","8/8","1/1"]} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"1/8","done":"1","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"2/8","done":"2","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"3/8","done":"3","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"4/8","done":"4","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"5/8","done":"5","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"6/8","done":"6","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"7/8","done":"7","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"8/8","done":"8","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-03-24 07:43:10] local.INFO: Updated rounds done/total {"rounds_done":8,"rounds_total":1} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":15,"class_id":273,"round_entries":["1/8","2/8","3/8","4/8","5/8","6/8","7/8","8/8","1/1"]} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"1/8","done":"1","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"2/8","done":"2","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"3/8","done":"3","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"4/8","done":"4","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"5/8","done":"5","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"6/8","done":"6","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"7/8","done":"7","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"8/8","done":"8","total":"8"} 
[2026-03-24 07:43:10] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-03-24 07:43:10] local.INFO: Updated rounds done/total {"rounds_done":8,"rounds_total":1} 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":8,"rounds_total":1,"completion_percent":800.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":51,"workout_libraries_id":50,"training_load":23,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":8,"rounds_total":1,"completion_percent":800.0,"workout_library":{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:10] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:10] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:10] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":14,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":15,"workout_libraries_id":50,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:43:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:43:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":14,"class_id":273,"round_entries":["1/8","2/8","3/8","4/8","5/8","6/8","7/8","8/8","1/1"]} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"1/8","done":"1","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"2/8","done":"2","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"3/8","done":"3","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"4/8","done":"4","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"5/8","done":"5","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"6/8","done":"6","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"7/8","done":"7","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"8/8","done":"8","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-03-24 07:43:11] local.INFO: Updated rounds done/total {"rounds_done":8,"rounds_total":1} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":15,"class_id":273,"round_entries":["1/8","2/8","3/8","4/8","5/8","6/8","7/8","8/8","1/1"]} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"1/8","done":"1","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"2/8","done":"2","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"3/8","done":"3","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"4/8","done":"4","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"5/8","done":"5","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"6/8","done":"6","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"7/8","done":"7","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"8/8","done":"8","total":"8"} 
[2026-03-24 07:43:11] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-03-24 07:43:11] local.INFO: Updated rounds done/total {"rounds_done":8,"rounds_total":1} 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":8,"rounds_total":1,"completion_percent":800.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":51,"workout_libraries_id":50,"training_load":23,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-03-24T07:41:21.000000Z","updated_at":"2026-03-24T07:41:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":8,"rounds_total":1,"completion_percent":800.0,"workout_library":{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:11] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:43:28] local.INFO: AMRAP row processing {"managerId":51,"index":"1","exercise":"Bike erg","workout_library_id":21} 
[2026-03-24 07:43:28] local.INFO: Saved AMRAP row 1  
[2026-03-24 07:43:28] local.INFO: AMRAP row processing {"managerId":51,"index":"2","exercise":"Back squat","workout_library_id":17} 
[2026-03-24 07:43:28] local.INFO: Saved AMRAP row 2  
[2026-03-24 07:43:31] local.INFO: Tab value: all  
[2026-03-24 07:43:31] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:31] local.INFO: Saved type row conditioning  
[2026-03-24 07:43:31] local.INFO: Saved type row conditioning  
[2026-03-24 07:43:31] local.INFO: Saved type row accessory  
[2026-03-24 07:43:31] local.INFO: Saved type row accessory  
[2026-03-24 07:43:31] local.INFO: Saved type row accessory  
[2026-03-24 07:43:31] local.INFO: Saved type row accessory  
[2026-03-24 07:43:31] local.INFO: Saved type row accessory  
[2026-03-24 07:43:31] local.INFO: Saved type row warmup  
[2026-03-24 07:43:31] local.INFO: Saved type row warmup  
[2026-03-24 07:43:31] local.INFO: Saved type row warmup  
[2026-03-24 07:43:32] local.INFO: Saved type row conditioning  
[2026-03-24 07:43:32] local.INFO: Saved type row conditioning  
[2026-03-24 07:43:32] local.INFO: Saved type row accessory  
[2026-03-24 07:43:32] local.INFO: Saved type row accessory  
[2026-03-24 07:43:32] local.INFO: Saved type row accessory  
[2026-03-24 07:43:32] local.INFO: Saved type row accessory  
[2026-03-24 07:43:32] local.INFO: Saved type row accessory  
[2026-03-24 07:43:32] local.INFO: Saved type row warmup  
[2026-03-24 07:43:32] local.INFO: Saved type row warmup  
[2026-03-24 07:43:32] local.INFO: Saved type row warmup  
[2026-03-24 07:43:32] local.INFO: Saved type row conditioning  
[2026-03-24 07:43:32] local.INFO: Saved type row conditioning  
[2026-03-24 07:43:32] local.INFO: Saved type row accessory  
[2026-03-24 07:43:32] local.INFO: Saved type row accessory  
[2026-03-24 07:43:32] local.INFO: Saved type row accessory  
[2026-03-24 07:43:32] local.INFO: Saved type row accessory  
[2026-03-24 07:43:32] local.INFO: Saved type row accessory  
[2026-03-24 07:43:32] local.INFO: Saved type row warmup  
[2026-03-24 07:43:32] local.INFO: Saved type row warmup  
[2026-03-24 07:43:32] local.INFO: Saved type row warmup  
[2026-03-24 07:43:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":16,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":17,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":7,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":16,"class_id":273,"round_entries":[]} 
[2026-03-24 07:43:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":17,"class_id":273,"round_entries":[]} 
[2026-03-24 07:43:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:37] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:37] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:37] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":16,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":17,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":7,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":16,"class_id":273,"round_entries":[]} 
[2026-03-24 07:43:38] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":17,"class_id":273,"round_entries":[]} 
[2026-03-24 07:43:38] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:38] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:38] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":16,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":17,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":7,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:43:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:43:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":16,"class_id":273,"round_entries":[]} 
[2026-03-24 07:43:38] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":17,"class_id":273,"round_entries":[]} 
[2026-03-24 07:43:38] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:38] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:38] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:38] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":16,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":17,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":7,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:43:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:43:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:43:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:43:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":16,"class_id":273,"round_entries":[]} 
[2026-03-24 07:43:39] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:43:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":17,"class_id":273,"round_entries":[]} 
[2026-03-24 07:43:39] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:43:39] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:39] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:43:39] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:43:52] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:43:52] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:43:52] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":16,"reps":2,"round_number":"1/2","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":17,"reps":2,"round_number":"1/2","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:43:52] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:43:52] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:43:52] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:43:52] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:43:52] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:43:52] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:43:52] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":16,"reps":2,"round_number":"2/2","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":17,"reps":2,"round_number":"2/2","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:43:52] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:43:52] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:43:52] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:43:52] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":16,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":17,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":7,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":16,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:44:04] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:44:04] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:44:04] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":17,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:44:04] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:44:04] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:44:04] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:04] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:04] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":16,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":17,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":7,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":16,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:44:04] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:44:04] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:44:04] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":17,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:44:04] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:44:04] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:44:04] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:04] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:04] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:04] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":16,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":17,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":7,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:44:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:44:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":16,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:44:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:44:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:44:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":17,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:44:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:44:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:44:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:14] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:14] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:14] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":16,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":17,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":7,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:44:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:44:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:15] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:15] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:15] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:15] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:15] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":16,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:44:15] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:44:15] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:44:15] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:15] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":17,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:44:15] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:44:15] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:44:15] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":51,"workout_libraries_id":17,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:43:28.000000Z","updated_at":"2026-03-24T07:43:28.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":17,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:15] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:15] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:15] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:44:26] local.INFO: AMRAP row processing {"managerId":51,"index":"1","exercise":"Bike erg","workout_library_id":21} 
[2026-03-24 07:44:26] local.INFO: Saved AMRAP row 1  
[2026-03-24 07:44:26] local.INFO: AMRAP row processing {"managerId":51,"index":"2","exercise":"Bike erg","workout_library_id":21} 
[2026-03-24 07:44:26] local.INFO: Saved AMRAP row 2  
[2026-03-24 07:44:28] local.INFO: Tab value: all  
[2026-03-24 07:44:28] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:29] local.INFO: Saved type row conditioning  
[2026-03-24 07:44:29] local.INFO: Saved type row conditioning  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row warmup  
[2026-03-24 07:44:29] local.INFO: Saved type row warmup  
[2026-03-24 07:44:29] local.INFO: Saved type row warmup  
[2026-03-24 07:44:29] local.INFO: Saved type row conditioning  
[2026-03-24 07:44:29] local.INFO: Saved type row conditioning  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row warmup  
[2026-03-24 07:44:29] local.INFO: Saved type row warmup  
[2026-03-24 07:44:29] local.INFO: Saved type row warmup  
[2026-03-24 07:44:29] local.INFO: Saved type row conditioning  
[2026-03-24 07:44:29] local.INFO: Saved type row conditioning  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row accessory  
[2026-03-24 07:44:29] local.INFO: Saved type row warmup  
[2026-03-24 07:44:29] local.INFO: Saved type row warmup  
[2026-03-24 07:44:29] local.INFO: Saved type row warmup  
[2026-03-24 07:44:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:44:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:44:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:31] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:31] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:31] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:31] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":18,"class_id":273,"round_entries":[]} 
[2026-03-24 07:44:31] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":19,"class_id":273,"round_entries":[]} 
[2026-03-24 07:44:31] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":51,"workout_libraries_id":21,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:31] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:31] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:31] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:44:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:44:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":18,"class_id":273,"round_entries":[]} 
[2026-03-24 07:44:34] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":19,"class_id":273,"round_entries":[]} 
[2026-03-24 07:44:34] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":51,"workout_libraries_id":21,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:34] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:34] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:34] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:44:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:44:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":18,"class_id":273,"round_entries":[]} 
[2026-03-24 07:44:38] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":19,"class_id":273,"round_entries":[]} 
[2026-03-24 07:44:38] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":51,"workout_libraries_id":21,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:38] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:38] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:38] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:44:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:44:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:44:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:44:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":18,"class_id":273,"round_entries":[]} 
[2026-03-24 07:44:40] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:44:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":19,"class_id":273,"round_entries":[]} 
[2026-03-24 07:44:40] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":51,"workout_libraries_id":21,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:44:40] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:40] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:44:40] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:44:56] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:44:56] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:44:56] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":18,"reps":1,"round_number":"1/2","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:44:56] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:44:56] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:44:59] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:44:59] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:44:59] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":19,"reps":1,"round_number":"1/2","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:44:59] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:44:59] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:45:06] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:45:06] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:45:06] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":18,"reps":1,"round_number":"2/2","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:45:06] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:45:06] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:45:09] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:45:09] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:45:09] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":19,"reps":1,"round_number":"2/2","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:45:09] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:45:09] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":18,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:45:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:45:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:45:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":19,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:45:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:45:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:45:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":51,"workout_libraries_id":21,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":18,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:45:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:45:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:45:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":19,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:45:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:45:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:45:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":51,"workout_libraries_id":21,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:19] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:45:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":18,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:45:20] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:45:20] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:45:20] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":19,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:45:20] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:45:20] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:45:20] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":51,"workout_libraries_id":21,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:20] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:20] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:20] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:45:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:45:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":18,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:45:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:45:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:45:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":19,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:45:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:45:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:45:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":51,"workout_libraries_id":21,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:24] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:24] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:24] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":18,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:45:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:45:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:45:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":19,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:45:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:45:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:45:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":51,"workout_libraries_id":21,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:25] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:25] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:25] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":18,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:45:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:45:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:45:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":19,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:45:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:45:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:45:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":51,"workout_libraries_id":21,"training_load":23,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:44:26.000000Z","updated_at":"2026-03-24T07:44:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:26] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:45:42] local.INFO: AMRAP row processing {"managerId":51,"index":"1","exercise":"Bike erg","workout_library_id":21} 
[2026-03-24 07:45:42] local.INFO: Saved AMRAP row 1  
[2026-03-24 07:45:42] local.INFO: AMRAP row processing {"managerId":51,"index":"2","exercise":"Jump Rope","workout_library_id":23} 
[2026-03-24 07:45:42] local.INFO: Saved AMRAP row 2  
[2026-03-24 07:45:45] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:45] local.INFO: Tab value: all  
[2026-03-24 07:45:45] local.INFO: Saved type row conditioning  
[2026-03-24 07:45:45] local.INFO: Saved type row conditioning  
[2026-03-24 07:45:45] local.INFO: Saved type row accessory  
[2026-03-24 07:45:45] local.INFO: Saved type row accessory  
[2026-03-24 07:45:45] local.INFO: Saved type row accessory  
[2026-03-24 07:45:45] local.INFO: Saved type row accessory  
[2026-03-24 07:45:45] local.INFO: Saved type row accessory  
[2026-03-24 07:45:45] local.INFO: Saved type row warmup  
[2026-03-24 07:45:45] local.INFO: Saved type row warmup  
[2026-03-24 07:45:45] local.INFO: Saved type row warmup  
[2026-03-24 07:45:46] local.INFO: Saved type row conditioning  
[2026-03-24 07:45:46] local.INFO: Saved type row conditioning  
[2026-03-24 07:45:46] local.INFO: Saved type row accessory  
[2026-03-24 07:45:46] local.INFO: Saved type row accessory  
[2026-03-24 07:45:46] local.INFO: Saved type row accessory  
[2026-03-24 07:45:46] local.INFO: Saved type row accessory  
[2026-03-24 07:45:46] local.INFO: Saved type row accessory  
[2026-03-24 07:45:46] local.INFO: Saved type row warmup  
[2026-03-24 07:45:46] local.INFO: Saved type row warmup  
[2026-03-24 07:45:46] local.INFO: Saved type row warmup  
[2026-03-24 07:45:46] local.INFO: Saved type row conditioning  
[2026-03-24 07:45:46] local.INFO: Saved type row conditioning  
[2026-03-24 07:45:46] local.INFO: Saved type row accessory  
[2026-03-24 07:45:46] local.INFO: Saved type row accessory  
[2026-03-24 07:45:46] local.INFO: Saved type row accessory  
[2026-03-24 07:45:46] local.INFO: Saved type row accessory  
[2026-03-24 07:45:46] local.INFO: Saved type row accessory  
[2026-03-24 07:45:46] local.INFO: Saved type row warmup  
[2026-03-24 07:45:46] local.INFO: Saved type row warmup  
[2026-03-24 07:45:46] local.INFO: Saved type row warmup  
[2026-03-24 07:45:48] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":[]} 
[2026-03-24 07:45:48] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":[]} 
[2026-03-24 07:45:48] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:48] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:48] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:48] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:45:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:45:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:49] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":[]} 
[2026-03-24 07:45:49] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:49] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":[]} 
[2026-03-24 07:45:49] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:49] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:49] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:49] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:45:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:45:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:53] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:53] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:53] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:53] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":[]} 
[2026-03-24 07:45:53] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":[]} 
[2026-03-24 07:45:53] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:53] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:53] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:53] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:45:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:45:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:45:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:45:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":[]} 
[2026-03-24 07:45:54] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:45:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":[]} 
[2026-03-24 07:45:54] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:45:54] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:54] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:45:54] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:46:10] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:46:10] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:46:10] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":20,"reps":2,"round_number":"1/2","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":21,"reps":3,"round_number":"1/2","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:46:10] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:46:10] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:46:10] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:46:10] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:46:10] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:46:10] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:46:10] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":20,"reps":2,"round_number":"2/2","date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":51,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":21,"reps":3,"round_number":"2/2","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:46:10] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:46:10] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:46:10] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:46:10] local.INFO: New conditioning record created {"workout_manager_id":51} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:46:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:46:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:46:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:46:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:46:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:46:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:46:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:46:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:46:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:46:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:46:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:46:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:46:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:46:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:46:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:46:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:46:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:46:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:46:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:46:14] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:46:14] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:46:14] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:46:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:46:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:46:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:46:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:46:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:46:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:46:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:46:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:46:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:46:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:46:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:46:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:46:16] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:46:16] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:46:16] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:46:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:46:16] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:46:16] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:46:16] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:46:16] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:46:16] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:46:16] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:47:14] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:47:14] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:47:14] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":18,"reps":2,"set_number":1,"round_number":"1/2","training_load":12,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:47:14] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:47:14] local.INFO: New conditioning record created {"workout_manager_id":52} 
[2026-03-24 07:47:14] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:47:14] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:47:14] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":19,"reps":2,"set_number":1,"round_number":"1/2","training_load":20,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:47:14] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 07:47:14] local.INFO: New conditioning record created {"workout_manager_id":52} 
[2026-03-24 07:50:19] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:50:19] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:50:19] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":18,"reps":2,"set_number":2,"round_number":"2/2","training_load":12,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:50:19] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":34,"class_id":273,"round_number":"1/2","member_id":2,"conditioning_id":null,"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":18,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T07:47:14.000000Z","updated_at":"2026-03-24T07:47:14.000000Z","exercise_time":"00:00"}} 
[2026-03-24 07:50:19] local.INFO: Conditioning updated {"workout_manager_id":52} 
[2026-03-24 07:50:19] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:50:19] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:50:19] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":19,"reps":2,"set_number":2,"round_number":"2/2","training_load":20,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:50:19] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":35,"class_id":273,"round_number":"1/2","member_id":2,"conditioning_id":null,"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":19,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T07:47:14.000000Z","updated_at":"2026-03-24T07:47:14.000000Z","exercise_time":"00:00"}} 
[2026-03-24 07:50:19] local.INFO: Conditioning updated {"workout_manager_id":52} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:20] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:20] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:20] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:20] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:20] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:20] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:20] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:20] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:50:20] local.INFO: storeconditioningdaily function called.  
[2026-03-24 07:50:20] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:50:20] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":18,"reps":2,"set_number":2,"round_number":2,"date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":19,"reps":3,"set_number":2,"round_number":2,"date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:20] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:20] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:20] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:20] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:20] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:20] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:20] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:20] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:20] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:20] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:25] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:25] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:25] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:26] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:36] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:36] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:36] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:37] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:37] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:37] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:38] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:38] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:38] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:38] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:38] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:38] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:38] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:38] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:38] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:38] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:50:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:50:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:46] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:46] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:46] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:46] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:46] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:46] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:46] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:46] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:46] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:46] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:46] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:46] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:46] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:47] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:47] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:47] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:47] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:47] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:47] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:47] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:47] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:47] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:58] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:58] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:58] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:50:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:50:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:50:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:50:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:50:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:50:59] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:59] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:50:59] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:51:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:51:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:51:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:51:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:51:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:51:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:51:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:51:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:01] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:01] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:01] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:51:02] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:51:02] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:51:02] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:51:02] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:51:02] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:51:02] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:51:02] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:51:02] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:03] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:03] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:51:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:51:03] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:51:03] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:51:03] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:51:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:51:03] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:51:03] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:51:03] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:03] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:03] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:03] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:03] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":9,"workout_ids":[40,41,42,44,45,47,46,51,52],"types":["warmup","accessory","conditioning"]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":9,"ids":[40,41,42,44,45,46,47,51,52],"types":["Warmup","Accessory","Conditioning"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":18,"rows_with_lib_id":18,"rows_matched":6,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":8},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":8},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":9},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":7},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":7},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":7},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":9},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":9}}} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:51:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:51:09] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:51:09] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:51:09] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:51:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:51:09] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:51:09] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:51:09] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:09] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:09] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:09] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:51:52] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:52] local.INFO: Tab value: all  
[2026-03-24 07:51:52] local.INFO: Saved type row weightlifting  
[2026-03-24 07:51:52] local.INFO: Saved type row conditioning  
[2026-03-24 07:51:52] local.INFO: Saved type row conditioning  
[2026-03-24 07:51:52] local.INFO: Saved type row accessory  
[2026-03-24 07:51:52] local.INFO: Saved type row accessory  
[2026-03-24 07:51:52] local.INFO: Saved type row accessory  
[2026-03-24 07:51:52] local.INFO: Saved type row accessory  
[2026-03-24 07:51:52] local.INFO: Saved type row accessory  
[2026-03-24 07:51:52] local.INFO: Saved type row warmup  
[2026-03-24 07:51:52] local.INFO: Saved type row warmup  
[2026-03-24 07:51:52] local.INFO: Saved type row warmup  
[2026-03-24 07:51:52] local.INFO: Saved type row weightlifting  
[2026-03-24 07:51:52] local.INFO: Saved type row conditioning  
[2026-03-24 07:51:52] local.INFO: Saved type row conditioning  
[2026-03-24 07:51:52] local.INFO: Saved type row accessory  
[2026-03-24 07:51:52] local.INFO: Saved type row accessory  
[2026-03-24 07:51:52] local.INFO: Saved type row accessory  
[2026-03-24 07:51:52] local.INFO: Saved type row accessory  
[2026-03-24 07:51:52] local.INFO: Saved type row accessory  
[2026-03-24 07:51:52] local.INFO: Saved type row warmup  
[2026-03-24 07:51:52] local.INFO: Saved type row warmup  
[2026-03-24 07:51:52] local.INFO: Saved type row warmup  
[2026-03-24 07:51:53] local.INFO: Saved type row weightlifting  
[2026-03-24 07:51:53] local.INFO: Saved type row conditioning  
[2026-03-24 07:51:53] local.INFO: Saved type row conditioning  
[2026-03-24 07:51:53] local.INFO: Saved type row accessory  
[2026-03-24 07:51:53] local.INFO: Saved type row accessory  
[2026-03-24 07:51:53] local.INFO: Saved type row accessory  
[2026-03-24 07:51:53] local.INFO: Saved type row accessory  
[2026-03-24 07:51:53] local.INFO: Saved type row accessory  
[2026-03-24 07:51:53] local.INFO: Saved type row warmup  
[2026-03-24 07:51:53] local.INFO: Saved type row warmup  
[2026-03-24 07:51:53] local.INFO: Saved type row warmup  
[2026-03-24 07:51:56] local.INFO: assignWorkoutToClass:  {"workout_id":53,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 07:51:56] local.INFO: Saved type row weightlifting  
[2026-03-24 07:51:56] local.INFO: Saved type row conditioning  
[2026-03-24 07:51:56] local.INFO: Saved type row conditioning  
[2026-03-24 07:51:56] local.INFO: Saved type row accessory  
[2026-03-24 07:51:56] local.INFO: Saved type row accessory  
[2026-03-24 07:51:56] local.INFO: Saved type row accessory  
[2026-03-24 07:51:56] local.INFO: Saved type row accessory  
[2026-03-24 07:51:56] local.INFO: Saved type row accessory  
[2026-03-24 07:51:56] local.INFO: Saved type row warmup  
[2026-03-24 07:51:56] local.INFO: Saved type row warmup  
[2026-03-24 07:51:56] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:56] local.INFO: Saved type row warmup  
[2026-03-24 07:51:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[40,41,42,44,45,47,46,51,52,53],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[40,41,42,44,45,47,46,51,52,53],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":10,"ids":[40,41,42,44,45,46,47,51,52,53],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":6,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":9},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":9},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":10},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":8},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":8},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":8},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":10},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":10}}} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":10,"ids":[40,41,42,44,45,46,47,51,52,53],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":6,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":9},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":9},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":10},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":8},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":8},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":8},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":10},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":10}}} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:51:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:51:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:51:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:51:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:51:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:51:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:51:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:51:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:51:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:51:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:51:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:51:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:51:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:51:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:51:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:51:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:59] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:51:59] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:59] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:51:59] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[40,41,42,44,45,47,46,51,52,53],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":10,"ids":[40,41,42,44,45,46,47,51,52,53],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":6,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":9},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":9},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":10},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":8},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":8},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":8},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":10},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":10}}} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:00] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:00] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:00] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[40,41,42,44,45,47,46,51,52,53],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":10,"ids":[40,41,42,44,45,46,47,51,52,53],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":6,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":9},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":9},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":10},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":8},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":8},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":8},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":10},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":10}}} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:01] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:01] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:01] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:05] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:52:05] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:52:05] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:52:05] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":53,"workout_format_type":"rounds","workout_format_id":20,"reps":2,"set_number":1,"round_number":"1/1","training_load":12,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:52:05] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-03-24 07:52:05] local.INFO: New weightlifting record created {"workout_manager_id":53,"set_number":1} 
[2026-03-24 07:52:06] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:52:06] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:52:06] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:52:06] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":53,"workout_format_type":"rounds","workout_format_id":21,"reps":3,"set_number":1,"round_number":"1/1","training_load":56,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:52:06] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-03-24 07:52:06] local.INFO: New weightlifting record created {"workout_manager_id":53,"set_number":1} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[40,41,42,44,45,47,46,51,52,53],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":10,"ids":[40,41,42,44,45,46,47,51,52,53],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":6,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":9},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":9},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":10},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":8},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":8},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":8},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":10},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":10}}} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:06] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:06] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:06] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:06] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:06] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:06] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:06] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:06] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:06] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:07] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:52:07] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:52:07] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:52:07] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":53,"workout_format_type":"rounds","workout_format_id":20,"reps":2,"weight":12,"date":"24/03/26 Tuesday","set_number":1,"round_number":"1/1","class_Id":273},{"workout_manager_id":53,"workout_format_type":"rounds","workout_format_id":21,"reps":3,"weight":56,"date":"24/03/26 Tuesday","set_number":1,"round_number":"1/1","class_Id":273}]} 
[2026-03-24 07:52:07] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":30,"class_id":273,"round_number":"1/1","member_id":2,"weightlifting_id":null,"workout_manager_id":53,"workout_format_type":"rounds","workout_format_id":20,"set_number":1,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T07:52:05.000000Z","updated_at":"2026-03-24T07:52:05.000000Z","exercise_time":"00:00"}} 
[2026-03-24 07:52:07] local.INFO: Weightlifting updated {"workout_manager_id":53,"set_number":1} 
[2026-03-24 07:52:07] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":31,"class_id":273,"round_number":"1/1","member_id":2,"weightlifting_id":null,"workout_manager_id":53,"workout_format_type":"rounds","workout_format_id":21,"set_number":1,"reps":3,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T07:52:06.000000Z","updated_at":"2026-03-24T07:52:06.000000Z","exercise_time":"00:00"}} 
[2026-03-24 07:52:07] local.INFO: Weightlifting updated {"workout_manager_id":53,"set_number":1} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[40,41,42,44,45,47,46,51,52,53],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":10,"ids":[40,41,42,44,45,46,47,51,52,53],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":6,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":9},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":9},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":10},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":8},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":8},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":8},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":10},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":10}}} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:07] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:07] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:07] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:07] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:07] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:07] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:07] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:07] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:07] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:07] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[40,41,42,44,45,47,46,51,52,53],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":10,"ids":[40,41,42,44,45,46,47,51,52,53],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":6,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":9},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":9},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":10},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":8},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":8},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":8},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":10},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":10}}} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:11] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[40,41,42,44,45,47,46,51,52,53],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":10,"ids":[40,41,42,44,45,46,47,51,52,53],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":6,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":9},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":9},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":10},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":8},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":8},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":8},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":10},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":10}}} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:11] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[40,41,42,44,45,47,46,51,52,53],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":10,"ids":[40,41,42,44,45,46,47,51,52,53],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":6,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":9},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":9},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":10},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":8},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":8},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":8},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":10},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":10}}} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:12] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:12] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:12] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:12] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:12] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:12] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:12] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:12] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:12] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:12] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[40,41,42,44,45,47,46,51,52,53],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":10,"ids":[40,41,42,44,45,46,47,51,52,53],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":6,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":9},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":9},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":10},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":8},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":8},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":8},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":10},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":10}}} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:13] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:13] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:13] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:13] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:13] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:13] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:13] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:13] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[40,41,42,44,45,47,46,51,52,53],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":10,"ids":[40,41,42,44,45,46,47,51,52,53],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":6,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":9},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":9},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":10},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":8},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":8},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":8},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":10},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":10}}} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:13] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:13] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:13] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:13] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:13] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:13] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:13] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:13] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:13] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[40,41,42,44,45,47,46,51,52,53],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":10,"ids":[40,41,42,44,45,46,47,51,52,53],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":6,"rows_not_matched":14,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":9},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":9},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":10},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":8},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":8},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":8},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":10},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":10}}} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:14] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:14] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:14] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:44] local.INFO: Tab value: all  
[2026-03-24 07:52:44] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:44] local.INFO: Saved type row weightlifting  
[2026-03-24 07:52:44] local.INFO: Saved type row weightlifting  
[2026-03-24 07:52:44] local.INFO: Saved type row conditioning  
[2026-03-24 07:52:44] local.INFO: Saved type row conditioning  
[2026-03-24 07:52:44] local.INFO: Saved type row accessory  
[2026-03-24 07:52:44] local.INFO: Saved type row accessory  
[2026-03-24 07:52:44] local.INFO: Saved type row accessory  
[2026-03-24 07:52:44] local.INFO: Saved type row accessory  
[2026-03-24 07:52:44] local.INFO: Saved type row accessory  
[2026-03-24 07:52:44] local.INFO: Saved type row warmup  
[2026-03-24 07:52:44] local.INFO: Saved type row warmup  
[2026-03-24 07:52:44] local.INFO: Saved type row warmup  
[2026-03-24 07:52:44] local.INFO: Saved type row weightlifting  
[2026-03-24 07:52:44] local.INFO: Saved type row weightlifting  
[2026-03-24 07:52:44] local.INFO: Saved type row conditioning  
[2026-03-24 07:52:44] local.INFO: Saved type row conditioning  
[2026-03-24 07:52:44] local.INFO: Saved type row accessory  
[2026-03-24 07:52:44] local.INFO: Saved type row accessory  
[2026-03-24 07:52:44] local.INFO: Saved type row accessory  
[2026-03-24 07:52:44] local.INFO: Saved type row accessory  
[2026-03-24 07:52:44] local.INFO: Saved type row accessory  
[2026-03-24 07:52:44] local.INFO: Saved type row warmup  
[2026-03-24 07:52:44] local.INFO: Saved type row warmup  
[2026-03-24 07:52:44] local.INFO: Saved type row warmup  
[2026-03-24 07:52:45] local.INFO: Saved type row weightlifting  
[2026-03-24 07:52:45] local.INFO: Saved type row weightlifting  
[2026-03-24 07:52:45] local.INFO: Saved type row conditioning  
[2026-03-24 07:52:45] local.INFO: Saved type row conditioning  
[2026-03-24 07:52:45] local.INFO: Saved type row accessory  
[2026-03-24 07:52:45] local.INFO: Saved type row accessory  
[2026-03-24 07:52:45] local.INFO: Saved type row accessory  
[2026-03-24 07:52:45] local.INFO: Saved type row accessory  
[2026-03-24 07:52:45] local.INFO: Saved type row accessory  
[2026-03-24 07:52:45] local.INFO: Saved type row warmup  
[2026-03-24 07:52:45] local.INFO: Saved type row warmup  
[2026-03-24 07:52:45] local.INFO: Saved type row warmup  
[2026-03-24 07:52:47] local.INFO: assignWorkoutToClass:  {"workout_id":54,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 07:52:47] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:47] local.INFO: Saved type row weightlifting  
[2026-03-24 07:52:47] local.INFO: Saved type row weightlifting  
[2026-03-24 07:52:47] local.INFO: Saved type row conditioning  
[2026-03-24 07:52:47] local.INFO: Saved type row conditioning  
[2026-03-24 07:52:47] local.INFO: Saved type row accessory  
[2026-03-24 07:52:47] local.INFO: Saved type row accessory  
[2026-03-24 07:52:47] local.INFO: Saved type row accessory  
[2026-03-24 07:52:47] local.INFO: Saved type row accessory  
[2026-03-24 07:52:47] local.INFO: Saved type row accessory  
[2026-03-24 07:52:47] local.INFO: Saved type row warmup  
[2026-03-24 07:52:47] local.INFO: Saved type row warmup  
[2026-03-24 07:52:47] local.INFO: Saved type row warmup  
[2026-03-24 07:52:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:53] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:53] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:53] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:53] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:53] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:53] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:53] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:53] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:53] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:53] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:54] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:54] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:54] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:52:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:52:54] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:52:54] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:52:54] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:52:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:52:54] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:54] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:52:54] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:52:59] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:52:59] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:52:59] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:52:59] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":54,"workout_format_type":"rounds","workout_format_id":22,"reps":2,"set_number":1,"round_number":"1/2","training_load":12,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:52:59] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-03-24 07:52:59] local.INFO: New weightlifting record created {"workout_manager_id":54,"set_number":1} 
[2026-03-24 07:53:00] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:53:00] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:53:00] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:53:00] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":54,"workout_format_type":"rounds","workout_format_id":23,"reps":2,"set_number":1,"round_number":"1/2","training_load":56,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:53:00] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-03-24 07:53:00] local.INFO: New weightlifting record created {"workout_manager_id":54,"set_number":1} 
[2026-03-24 07:54:08] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:54:08] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:54:08] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:54:08] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":54,"workout_format_type":"rounds","workout_format_id":22,"reps":2,"set_number":2,"round_number":"2/2","training_load":12,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:54:08] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-03-24 07:54:08] local.INFO: New weightlifting record created {"workout_manager_id":54,"set_number":2} 
[2026-03-24 07:54:09] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:54:09] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:54:09] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:54:09] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":54,"workout_format_type":"rounds","workout_format_id":23,"reps":2,"set_number":2,"round_number":"2/2","training_load":56,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 07:54:09] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-03-24 07:54:09] local.INFO: New weightlifting record created {"workout_manager_id":54,"set_number":2} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:09] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:09] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:09] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:09] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:09] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:09] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:09] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:09] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:09] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:54:10] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:54:10] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:54:10] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:54:10] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":54,"workout_format_type":"rounds","workout_format_id":22,"reps":2,"weight":12,"date":"24/03/26 Tuesday","set_number":2,"round_number":"2/2","class_Id":273},{"workout_manager_id":54,"workout_format_type":"rounds","workout_format_id":23,"reps":3,"weight":56,"date":"24/03/26 Tuesday","set_number":2,"round_number":"2/2","class_Id":273}]} 
[2026-03-24 07:54:10] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":34,"class_id":273,"round_number":"2/2","member_id":2,"weightlifting_id":null,"workout_manager_id":54,"workout_format_type":"rounds","workout_format_id":22,"set_number":2,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T07:54:08.000000Z","updated_at":"2026-03-24T07:54:08.000000Z","exercise_time":"00:00"}} 
[2026-03-24 07:54:10] local.INFO: Weightlifting updated {"workout_manager_id":54,"set_number":2} 
[2026-03-24 07:54:10] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":35,"class_id":273,"round_number":"2/2","member_id":2,"weightlifting_id":null,"workout_manager_id":54,"workout_format_type":"rounds","workout_format_id":23,"set_number":2,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T07:54:09.000000Z","updated_at":"2026-03-24T07:54:09.000000Z","exercise_time":"00:00"}} 
[2026-03-24 07:54:10] local.INFO: Weightlifting updated {"workout_manager_id":54,"set_number":2} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:10] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:10] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:10] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:10] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:10] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:10] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:10] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:10] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:10] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:20] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:20] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:20] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:20] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:20] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:20] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:20] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:20] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:20] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:54:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:21] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:21] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:21] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:23] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:23] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:23] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:24] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:24] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:24] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:54:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:28] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:28] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:28] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:28] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:28] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:29] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:30] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:30] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:30] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:30] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:30] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:30] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:30] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:30] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:30] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:30] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:30] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:30] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:30] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":11,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":11,"ids":[40,41,42,44,45,46,47,51,52,53,54],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds"]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":7,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":8},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":10},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":10},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":11},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":9},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":9},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":9},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":11},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":11}}} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:34] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:34] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:34] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:54:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:54:34] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:54:34] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:54:34] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:54:34] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:34] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:54:34] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:55:02] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:55:02] local.INFO: Tab value: all  
[2026-03-24 07:55:02] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:02] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:02] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:02] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:02] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:02] local.INFO: Saved type row accessory  
[2026-03-24 07:55:02] local.INFO: Saved type row accessory  
[2026-03-24 07:55:02] local.INFO: Saved type row accessory  
[2026-03-24 07:55:02] local.INFO: Saved type row accessory  
[2026-03-24 07:55:02] local.INFO: Saved type row accessory  
[2026-03-24 07:55:02] local.INFO: Saved type row warmup  
[2026-03-24 07:55:02] local.INFO: Saved type row warmup  
[2026-03-24 07:55:02] local.INFO: Saved type row warmup  
[2026-03-24 07:55:03] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:03] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:03] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:03] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:03] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:03] local.INFO: Saved type row accessory  
[2026-03-24 07:55:03] local.INFO: Saved type row accessory  
[2026-03-24 07:55:03] local.INFO: Saved type row accessory  
[2026-03-24 07:55:03] local.INFO: Saved type row accessory  
[2026-03-24 07:55:03] local.INFO: Saved type row accessory  
[2026-03-24 07:55:03] local.INFO: Saved type row warmup  
[2026-03-24 07:55:03] local.INFO: Saved type row warmup  
[2026-03-24 07:55:03] local.INFO: Saved type row warmup  
[2026-03-24 07:55:03] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:03] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:03] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:03] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:03] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:03] local.INFO: Saved type row accessory  
[2026-03-24 07:55:03] local.INFO: Saved type row accessory  
[2026-03-24 07:55:03] local.INFO: Saved type row accessory  
[2026-03-24 07:55:03] local.INFO: Saved type row accessory  
[2026-03-24 07:55:03] local.INFO: Saved type row accessory  
[2026-03-24 07:55:03] local.INFO: Saved type row warmup  
[2026-03-24 07:55:03] local.INFO: Saved type row warmup  
[2026-03-24 07:55:03] local.INFO: Saved type row warmup  
[2026-03-24 07:55:40] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:55:41] local.INFO: Tab value: all  
[2026-03-24 07:55:41] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:41] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:41] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:41] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:41] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:41] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:41] local.INFO: Saved type row accessory  
[2026-03-24 07:55:41] local.INFO: Saved type row accessory  
[2026-03-24 07:55:41] local.INFO: Saved type row accessory  
[2026-03-24 07:55:41] local.INFO: Saved type row accessory  
[2026-03-24 07:55:41] local.INFO: Saved type row accessory  
[2026-03-24 07:55:41] local.INFO: Saved type row warmup  
[2026-03-24 07:55:41] local.INFO: Saved type row warmup  
[2026-03-24 07:55:41] local.INFO: Saved type row warmup  
[2026-03-24 07:55:41] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:41] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:41] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:41] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:41] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:41] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:41] local.INFO: Saved type row accessory  
[2026-03-24 07:55:41] local.INFO: Saved type row accessory  
[2026-03-24 07:55:41] local.INFO: Saved type row accessory  
[2026-03-24 07:55:41] local.INFO: Saved type row accessory  
[2026-03-24 07:55:41] local.INFO: Saved type row accessory  
[2026-03-24 07:55:41] local.INFO: Saved type row warmup  
[2026-03-24 07:55:41] local.INFO: Saved type row warmup  
[2026-03-24 07:55:41] local.INFO: Saved type row warmup  
[2026-03-24 07:55:42] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:42] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:42] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:42] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:42] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:42] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:42] local.INFO: Saved type row accessory  
[2026-03-24 07:55:42] local.INFO: Saved type row accessory  
[2026-03-24 07:55:42] local.INFO: Saved type row accessory  
[2026-03-24 07:55:42] local.INFO: Saved type row accessory  
[2026-03-24 07:55:42] local.INFO: Saved type row accessory  
[2026-03-24 07:55:42] local.INFO: Saved type row warmup  
[2026-03-24 07:55:42] local.INFO: Saved type row warmup  
[2026-03-24 07:55:42] local.INFO: Saved type row warmup  
[2026-03-24 07:55:57] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:55:57] local.INFO: Tab value: all  
[2026-03-24 07:55:57] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:57] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:57] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:57] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:57] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:57] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:57] local.INFO: Saved type row accessory  
[2026-03-24 07:55:57] local.INFO: Saved type row accessory  
[2026-03-24 07:55:57] local.INFO: Saved type row accessory  
[2026-03-24 07:55:57] local.INFO: Saved type row accessory  
[2026-03-24 07:55:57] local.INFO: Saved type row accessory  
[2026-03-24 07:55:57] local.INFO: Saved type row warmup  
[2026-03-24 07:55:57] local.INFO: Saved type row warmup  
[2026-03-24 07:55:57] local.INFO: Saved type row warmup  
[2026-03-24 07:55:58] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:58] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:58] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:58] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:58] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:58] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:58] local.INFO: Saved type row accessory  
[2026-03-24 07:55:58] local.INFO: Saved type row accessory  
[2026-03-24 07:55:58] local.INFO: Saved type row accessory  
[2026-03-24 07:55:58] local.INFO: Saved type row accessory  
[2026-03-24 07:55:58] local.INFO: Saved type row accessory  
[2026-03-24 07:55:58] local.INFO: Saved type row warmup  
[2026-03-24 07:55:58] local.INFO: Saved type row warmup  
[2026-03-24 07:55:58] local.INFO: Saved type row warmup  
[2026-03-24 07:55:58] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:58] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:58] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:58] local.INFO: Saved type row weightlifting  
[2026-03-24 07:55:58] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:58] local.INFO: Saved type row conditioning  
[2026-03-24 07:55:58] local.INFO: Saved type row accessory  
[2026-03-24 07:55:58] local.INFO: Saved type row accessory  
[2026-03-24 07:55:58] local.INFO: Saved type row accessory  
[2026-03-24 07:55:58] local.INFO: Saved type row accessory  
[2026-03-24 07:55:58] local.INFO: Saved type row accessory  
[2026-03-24 07:55:58] local.INFO: Saved type row warmup  
[2026-03-24 07:55:58] local.INFO: Saved type row warmup  
[2026-03-24 07:55:58] local.INFO: Saved type row warmup  
[2026-03-24 07:56:01] local.INFO: assignWorkoutToClass:  {"workout_id":55,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 07:56:01] local.INFO: Saved type row weightlifting  
[2026-03-24 07:56:01] local.INFO: Saved type row weightlifting  
[2026-03-24 07:56:01] local.INFO: Saved type row weightlifting  
[2026-03-24 07:56:01] local.INFO: Saved type row weightlifting  
[2026-03-24 07:56:01] local.INFO: Saved type row conditioning  
[2026-03-24 07:56:01] local.INFO: Saved type row conditioning  
[2026-03-24 07:56:01] local.INFO: Saved type row accessory  
[2026-03-24 07:56:01] local.INFO: Saved type row accessory  
[2026-03-24 07:56:01] local.INFO: Saved type row accessory  
[2026-03-24 07:56:01] local.INFO: Saved type row accessory  
[2026-03-24 07:56:01] local.INFO: Saved type row accessory  
[2026-03-24 07:56:01] local.INFO: Saved type row warmup  
[2026-03-24 07:56:01] local.INFO: Saved type row warmup  
[2026-03-24 07:56:01] local.INFO: Saved type row warmup  
[2026-03-24 07:56:01] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:56:03] local.INFO: assignWorkoutToClass:  {"workout_id":56,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 07:56:03] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:56:03] local.INFO: Saved type row weightlifting  
[2026-03-24 07:56:03] local.INFO: Saved type row weightlifting  
[2026-03-24 07:56:03] local.INFO: Saved type row weightlifting  
[2026-03-24 07:56:03] local.INFO: Saved type row weightlifting  
[2026-03-24 07:56:03] local.INFO: Saved type row conditioning  
[2026-03-24 07:56:03] local.INFO: Saved type row conditioning  
[2026-03-24 07:56:03] local.INFO: Saved type row accessory  
[2026-03-24 07:56:03] local.INFO: Saved type row accessory  
[2026-03-24 07:56:03] local.INFO: Saved type row accessory  
[2026-03-24 07:56:03] local.INFO: Saved type row accessory  
[2026-03-24 07:56:03] local.INFO: Saved type row accessory  
[2026-03-24 07:56:03] local.INFO: Saved type row warmup  
[2026-03-24 07:56:03] local.INFO: Saved type row warmup  
[2026-03-24 07:56:03] local.INFO: Saved type row warmup  
[2026-03-24 07:56:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":8,"rows_not_matched":18,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":10},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":11},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":1,"not_matched":1,"empty":12},"pyramids":{"seen":2,"matched":0,"not_matched":2,"empty":12}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":8,"rows_not_matched":18,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":10},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":11},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":1,"not_matched":1,"empty":12},"pyramids":{"seen":2,"matched":0,"not_matched":2,"empty":12}}} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:56:08] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:56:08] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:56:08] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:56:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:56:08] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:56:08] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:56:08] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:56:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:56:08] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:56:08] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:56:08] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:56:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:56:08] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:56:08] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:56:08] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":8,"rows_not_matched":18,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":10},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":11},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":1,"not_matched":1,"empty":12},"pyramids":{"seen":2,"matched":0,"not_matched":2,"empty":12}}} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:56:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:56:08] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:56:08] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:56:08] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:56:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:56:08] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:56:08] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:56:08] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:08] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:56:08] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":8,"rows_not_matched":18,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":10},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":11},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":1,"not_matched":1,"empty":12},"pyramids":{"seen":2,"matched":0,"not_matched":2,"empty":12}}} 
[2026-03-24 07:56:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:56:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:56:10] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:56:10] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:56:10] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:56:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:56:10] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:56:10] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:56:10] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:56:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:10] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:56:10] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:56:10] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:56:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:56:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:56:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:56:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:56:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:56:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":8,"rows_not_matched":18,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":10},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":11},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":1,"not_matched":1,"empty":12},"pyramids":{"seen":2,"matched":0,"not_matched":2,"empty":12}}} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:56:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:56:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:56:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:56:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:56:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:56:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:56:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:56:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:56:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:56:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:56:11] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:57:17] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:57:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:57:17] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:57:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:57:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:57:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:57:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:57:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:57:17] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":8,"rows_not_matched":18,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":10},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":11},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":1,"not_matched":1,"empty":12},"pyramids":{"seen":2,"matched":0,"not_matched":2,"empty":12}}} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:57:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:57:18] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:57:18] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:57:18] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:57:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:57:18] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:57:18] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:57:18] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:18] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:57:18] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:57:18] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":8,"rows_not_matched":18,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":10},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":11},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":1,"not_matched":1,"empty":12},"pyramids":{"seen":2,"matched":0,"not_matched":2,"empty":12}}} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:57:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:57:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:57:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:57:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:57:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:57:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:57:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:57:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:21] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:57:21] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:57:21] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,120,17],"test_ids":[66,67,68]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"}}} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"available_test_library_ids":[16,120,17]} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":8,"rows_not_matched":18,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":2,"not_matched":4,"empty":10},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":11},"emoms":{"seen":4,"matched":1,"not_matched":3,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":1,"not_matched":1,"empty":12},"pyramids":{"seen":2,"matched":0,"not_matched":2,"empty":12}}} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:57:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:57:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:57:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:57:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:57:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:57:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:57:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:57:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:57:24] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:57:24] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:57:24] local.INFO: Tests retrieved {"count":3,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":17,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":10},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":11},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":12},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":12}}} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:58:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:58:10] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:58:10] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:58:10] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:58:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:58:10] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:58:10] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:58:10] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:10] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:58:10] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:58:10] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":17,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":10},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":11},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":12},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":12}}} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:58:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:58:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:58:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:58:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:58:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:58:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:58:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:58:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:58:14] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:58:14] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:58:14] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:59:23] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:59:23] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:59:23] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:59:23] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":55,"workout_format_type":"pyramid","workout_format_id":1,"reps":2,"weight":1.5,"date":"24/03/26 Tuesday","set_number":1,"class_Id":273},{"workout_manager_id":55,"workout_format_type":"pyramid","workout_format_id":2,"reps":3,"weight":6.25,"date":"24/03/26 Tuesday","set_number":2,"class_Id":273}]} 
[2026-03-24 07:59:23] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-03-24 07:59:23] local.INFO: New weightlifting record created {"workout_manager_id":55,"set_number":1} 
[2026-03-24 07:59:23] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-03-24 07:59:23] local.INFO: New weightlifting record created {"workout_manager_id":55,"set_number":2} 
[2026-03-24 07:59:30] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:59:30] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 07:59:30] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 07:59:30] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":55,"workout_format_type":"pyramid","workout_format_id":1,"reps":2,"weight":1.5,"date":"24/03/26 Tuesday","set_number":1,"class_Id":273},{"workout_manager_id":55,"workout_format_type":"pyramid","workout_format_id":2,"reps":3,"weight":6.25,"date":"24/03/26 Tuesday","set_number":2,"class_Id":273}]} 
[2026-03-24 07:59:30] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":36,"class_id":273,"round_number":null,"member_id":2,"weightlifting_id":null,"workout_manager_id":55,"workout_format_type":"pyramid","workout_format_id":1,"set_number":1,"reps":2,"weight":"1.5","date":"24/03/26 Tuesday","created_at":"2026-03-24T07:59:23.000000Z","updated_at":"2026-03-24T07:59:23.000000Z","exercise_time":null}} 
[2026-03-24 07:59:30] local.INFO: Weightlifting updated {"workout_manager_id":55,"set_number":1} 
[2026-03-24 07:59:30] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":37,"class_id":273,"round_number":null,"member_id":2,"weightlifting_id":null,"workout_manager_id":55,"workout_format_type":"pyramid","workout_format_id":2,"set_number":2,"reps":3,"weight":"6.25","date":"24/03/26 Tuesday","created_at":"2026-03-24T07:59:23.000000Z","updated_at":"2026-03-24T07:59:23.000000Z","exercise_time":null}} 
[2026-03-24 07:59:30] local.INFO: Weightlifting updated {"workout_manager_id":55,"set_number":2} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":17,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":10},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":11},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":12},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":12}}} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:59:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:59:35] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:59:35] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:59:35] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:59:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:59:35] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:59:35] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:59:35] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:35] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:59:35] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:59:35] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":17,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":10},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":11},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":12},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":12}}} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:59:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:59:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:59:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:59:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 07:59:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 07:59:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 07:59:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 07:59:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 07:59:36] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:59:36] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 07:59:36] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 08:00:02] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 08:00:02] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 08:00:02] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 08:00:02] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":56,"workout_format_type":"circuit","workout_format_id":4,"reps":2,"weight":45,"date":"24/03/26 Tuesday","set_number":1,"class_Id":273}]} 
[2026-03-24 08:00:02] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-03-24 08:00:02] local.INFO: New weightlifting record created {"workout_manager_id":56,"set_number":1} 
[2026-03-24 08:00:08] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 08:00:08] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 08:00:08] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 08:00:08] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":56,"workout_format_type":"circuit","workout_format_id":4,"reps":2,"weight":45,"date":"24/03/26 Tuesday","set_number":1,"class_Id":273}]} 
[2026-03-24 08:00:08] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":38,"class_id":273,"round_number":null,"member_id":2,"weightlifting_id":null,"workout_manager_id":56,"workout_format_type":"circuit","workout_format_id":4,"set_number":1,"reps":2,"weight":"45","date":"24/03/26 Tuesday","created_at":"2026-03-24T08:00:02.000000Z","updated_at":"2026-03-24T08:00:02.000000Z","exercise_time":null}} 
[2026-03-24 08:00:08] local.INFO: Weightlifting updated {"workout_manager_id":56,"set_number":1} 
[2026-03-24 08:00:08] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 08:00:08] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 08:00:08] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 08:00:08] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":56,"workout_format_type":"circuit","workout_format_id":4,"reps":2,"weight":45,"date":"24/03/26 Tuesday","set_number":1,"class_Id":273},{"workout_manager_id":56,"workout_format_type":"circuit","workout_format_id":5,"reps":2,"weight":25,"date":"24/03/26 Tuesday","set_number":2,"class_Id":273}]} 
[2026-03-24 08:00:08] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":38,"class_id":273,"round_number":null,"member_id":2,"weightlifting_id":null,"workout_manager_id":56,"workout_format_type":"circuit","workout_format_id":4,"set_number":1,"reps":2,"weight":"45","date":"24/03/26 Tuesday","created_at":"2026-03-24T08:00:02.000000Z","updated_at":"2026-03-24T08:00:02.000000Z","exercise_time":null}} 
[2026-03-24 08:00:08] local.INFO: Weightlifting updated {"workout_manager_id":56,"set_number":1} 
[2026-03-24 08:00:08] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-03-24 08:00:08] local.INFO: New weightlifting record created {"workout_manager_id":56,"set_number":2} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":17,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":10},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":11},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":12},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":12}}} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:26:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:26:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:26:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:26:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:26:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:26:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:26:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:26:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:26:58] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:26:58] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:26:58] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":17,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":10},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":11},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":12},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":12}}} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:27:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:27:12] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:27:12] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:27:12] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:27:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:27:12] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:27:12] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:27:12] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:12] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:27:12] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:27:12] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":17,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":10},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":11},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":12},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":12}}} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:27:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:27:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:27:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:27:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:27:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:27:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:27:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:27:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:14] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:27:14] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:27:14] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":13,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56],"types":["warmup","accessory","conditioning","weightlifting"]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":13,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56],"types":["Warmup","Accessory","Conditioning","Weightlifting"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":26,"rows_with_lib_id":26,"rows_matched":17,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":10},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":12},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":13},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":11},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":11},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":11},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":12},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":12}}} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:27:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:27:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:27:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:27:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:27:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:27:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:27:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:27:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:27:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:27:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:27:26] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 08:27:43] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:27:43] local.INFO: Tab value: all  
[2026-03-24 08:27:43] local.INFO: Saved type row weightlifting  
[2026-03-24 08:27:43] local.INFO: Saved type row weightlifting  
[2026-03-24 08:27:43] local.INFO: Saved type row weightlifting  
[2026-03-24 08:27:43] local.INFO: Saved type row weightlifting  
[2026-03-24 08:27:43] local.INFO: Saved type row conditioning  
[2026-03-24 08:27:43] local.INFO: Saved type row conditioning  
[2026-03-24 08:27:43] local.INFO: Saved type row accessory  
[2026-03-24 08:27:43] local.INFO: Saved type row accessory  
[2026-03-24 08:27:43] local.INFO: Saved type row accessory  
[2026-03-24 08:27:43] local.INFO: Saved type row accessory  
[2026-03-24 08:27:43] local.INFO: Saved type row accessory  
[2026-03-24 08:27:43] local.INFO: Saved type row warmup  
[2026-03-24 08:27:43] local.INFO: Saved type row warmup  
[2026-03-24 08:27:43] local.INFO: Saved type row warmup  
[2026-03-24 08:27:44] local.INFO: Saved type row weightlifting  
[2026-03-24 08:27:44] local.INFO: Saved type row weightlifting  
[2026-03-24 08:27:44] local.INFO: Saved type row weightlifting  
[2026-03-24 08:27:44] local.INFO: Saved type row weightlifting  
[2026-03-24 08:27:44] local.INFO: Saved type row conditioning  
[2026-03-24 08:27:44] local.INFO: Saved type row conditioning  
[2026-03-24 08:27:44] local.INFO: Saved type row accessory  
[2026-03-24 08:27:44] local.INFO: Saved type row accessory  
[2026-03-24 08:27:44] local.INFO: Saved type row accessory  
[2026-03-24 08:27:44] local.INFO: Saved type row accessory  
[2026-03-24 08:27:44] local.INFO: Saved type row accessory  
[2026-03-24 08:27:44] local.INFO: Saved type row warmup  
[2026-03-24 08:27:44] local.INFO: Saved type row warmup  
[2026-03-24 08:27:44] local.INFO: Saved type row warmup  
[2026-03-24 08:27:44] local.INFO: Saved type row weightlifting  
[2026-03-24 08:27:44] local.INFO: Saved type row weightlifting  
[2026-03-24 08:27:44] local.INFO: Saved type row weightlifting  
[2026-03-24 08:27:44] local.INFO: Saved type row weightlifting  
[2026-03-24 08:27:44] local.INFO: Saved type row conditioning  
[2026-03-24 08:27:44] local.INFO: Saved type row conditioning  
[2026-03-24 08:27:44] local.INFO: Saved type row accessory  
[2026-03-24 08:27:44] local.INFO: Saved type row accessory  
[2026-03-24 08:27:44] local.INFO: Saved type row accessory  
[2026-03-24 08:27:44] local.INFO: Saved type row accessory  
[2026-03-24 08:27:44] local.INFO: Saved type row accessory  
[2026-03-24 08:27:44] local.INFO: Saved type row warmup  
[2026-03-24 08:27:44] local.INFO: Saved type row warmup  
[2026-03-24 08:27:44] local.INFO: Saved type row warmup  
[2026-03-24 08:32:17] local.INFO: AMRAP row processing {"managerId":58,"index":"1","exercise":"Bike erg","workout_library_id":21} 
[2026-03-24 08:32:17] local.INFO: Saved AMRAP row 1  
[2026-03-24 08:32:17] local.INFO: AMRAP row processing {"managerId":58,"index":"2","exercise":"DB strict press","workout_library_id":41} 
[2026-03-24 08:32:17] local.INFO: Saved AMRAP row 2  
[2026-03-24 08:32:20] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:32:20] local.INFO: Tab value: all  
[2026-03-24 08:32:21] local.INFO: Saved type row strength  
[2026-03-24 08:32:21] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:21] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:21] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:21] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:21] local.INFO: Saved type row conditioning  
[2026-03-24 08:32:21] local.INFO: Saved type row conditioning  
[2026-03-24 08:32:21] local.INFO: Saved type row accessory  
[2026-03-24 08:32:21] local.INFO: Saved type row accessory  
[2026-03-24 08:32:21] local.INFO: Saved type row accessory  
[2026-03-24 08:32:21] local.INFO: Saved type row accessory  
[2026-03-24 08:32:21] local.INFO: Saved type row accessory  
[2026-03-24 08:32:21] local.INFO: Saved type row warmup  
[2026-03-24 08:32:21] local.INFO: Saved type row warmup  
[2026-03-24 08:32:21] local.INFO: Saved type row warmup  
[2026-03-24 08:32:21] local.INFO: Saved type row strength  
[2026-03-24 08:32:21] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:21] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:21] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:21] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:21] local.INFO: Saved type row conditioning  
[2026-03-24 08:32:21] local.INFO: Saved type row conditioning  
[2026-03-24 08:32:21] local.INFO: Saved type row accessory  
[2026-03-24 08:32:21] local.INFO: Saved type row accessory  
[2026-03-24 08:32:21] local.INFO: Saved type row accessory  
[2026-03-24 08:32:21] local.INFO: Saved type row accessory  
[2026-03-24 08:32:21] local.INFO: Saved type row accessory  
[2026-03-24 08:32:21] local.INFO: Saved type row warmup  
[2026-03-24 08:32:21] local.INFO: Saved type row warmup  
[2026-03-24 08:32:21] local.INFO: Saved type row warmup  
[2026-03-24 08:32:22] local.INFO: Saved type row strength  
[2026-03-24 08:32:22] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:22] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:22] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:22] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:22] local.INFO: Saved type row conditioning  
[2026-03-24 08:32:22] local.INFO: Saved type row conditioning  
[2026-03-24 08:32:22] local.INFO: Saved type row accessory  
[2026-03-24 08:32:22] local.INFO: Saved type row accessory  
[2026-03-24 08:32:22] local.INFO: Saved type row accessory  
[2026-03-24 08:32:22] local.INFO: Saved type row accessory  
[2026-03-24 08:32:22] local.INFO: Saved type row accessory  
[2026-03-24 08:32:22] local.INFO: Saved type row warmup  
[2026-03-24 08:32:22] local.INFO: Saved type row warmup  
[2026-03-24 08:32:22] local.INFO: Saved type row warmup  
[2026-03-24 08:32:25] local.INFO: assignWorkoutToClass:  {"workout_id":58,"class_id":273,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 08:32:25] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:32:25] local.INFO: Saved type row strength  
[2026-03-24 08:32:25] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:25] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:25] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:25] local.INFO: Saved type row weightlifting  
[2026-03-24 08:32:25] local.INFO: Saved type row conditioning  
[2026-03-24 08:32:25] local.INFO: Saved type row conditioning  
[2026-03-24 08:32:25] local.INFO: Saved type row accessory  
[2026-03-24 08:32:25] local.INFO: Saved type row accessory  
[2026-03-24 08:32:25] local.INFO: Saved type row accessory  
[2026-03-24 08:32:25] local.INFO: Saved type row accessory  
[2026-03-24 08:32:25] local.INFO: Saved type row accessory  
[2026-03-24 08:32:25] local.INFO: Saved type row warmup  
[2026-03-24 08:32:25] local.INFO: Saved type row warmup  
[2026-03-24 08:32:25] local.INFO: Saved type row warmup  
[2026-03-24 08:32:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:32:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:32:31] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:32:31] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:32:31] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:32:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:32:31] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:32:31] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:32:31] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:32:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":[]} 
[2026-03-24 08:32:31] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:32:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":[]} 
[2026-03-24 08:32:31] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:31] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:32:31] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:32:31] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:32:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:32:32] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:32:32] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:32:32] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:32:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:32:32] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:32:32] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:32:32] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:32:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":[]} 
[2026-03-24 08:32:32] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:32:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":[]} 
[2026-03-24 08:32:32] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:32] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:32:32] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:32:32] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:32:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:32:33] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:32:33] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:32:33] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:32:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:32:33] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:32:33] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:32:33] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:32:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":[]} 
[2026-03-24 08:32:33] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:32:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":[]} 
[2026-03-24 08:32:33] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:32:33] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:32:33] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:32:33] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 08:32:53] local.INFO: storestrengthdaily function called.  
[2026-03-24 08:32:53] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 08:32:53] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":58,"workout_type":"strength","workout_format_type":"amrap","workout_format_id":22,"reps":2,"round_number":"1/3","date":"24/03/26 Tuesday","weight":45,"set_number":1,"class_Id":273},{"workout_manager_id":58,"workout_type":"strength","workout_format_type":"amrap","workout_format_id":23,"reps":3,"round_number":"1/3","date":"24/03/26 Tuesday","weight":78,"set_number":1,"class_Id":273}]} 
[2026-03-24 08:32:53] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-03-24 08:32:53] local.INFO: New strength record created {"workout_manager_id":58,"set_number":1} 
[2026-03-24 08:32:53] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-03-24 08:32:53] local.INFO: New strength record created {"workout_manager_id":58,"set_number":1} 
[2026-03-24 08:32:53] local.INFO: storestrengthdaily function called.  
[2026-03-24 08:32:53] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 08:32:53] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":58,"workout_type":"strength","workout_format_type":"amrap","workout_format_id":22,"reps":2,"round_number":"2/3","date":"24/03/26 Tuesday","weight":45,"set_number":2,"class_Id":273},{"workout_manager_id":58,"workout_type":"strength","workout_format_type":"amrap","workout_format_id":23,"reps":3,"round_number":"2/3","date":"24/03/26 Tuesday","weight":78,"set_number":2,"class_Id":273}]} 
[2026-03-24 08:32:53] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-03-24 08:32:53] local.INFO: New strength record created {"workout_manager_id":58,"set_number":2} 
[2026-03-24 08:32:53] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-03-24 08:32:53] local.INFO: New strength record created {"workout_manager_id":58,"set_number":2} 
[2026-03-24 08:32:54] local.INFO: storestrengthdaily function called.  
[2026-03-24 08:32:54] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 08:32:54] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":58,"workout_type":"strength","workout_format_type":"amrap","workout_format_id":22,"reps":2,"round_number":"3/3","date":"24/03/26 Tuesday","weight":45,"set_number":3,"class_Id":273},{"workout_manager_id":58,"workout_type":"strength","workout_format_type":"amrap","workout_format_id":23,"reps":3,"round_number":"3/3","date":"24/03/26 Tuesday","weight":78,"set_number":3,"class_Id":273}]} 
[2026-03-24 08:32:54] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-03-24 08:32:54] local.INFO: New strength record created {"workout_manager_id":58,"set_number":3} 
[2026-03-24 08:32:54] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-03-24 08:32:54] local.INFO: New strength record created {"workout_manager_id":58,"set_number":3} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:35:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:35:08] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:35:08] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:35:08] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:35:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:35:08] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:35:08] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:35:08] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:35:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 08:35:08] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 08:35:08] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 08:35:08] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 08:35:08] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:35:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 08:35:08] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 08:35:08] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 08:35:08] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 08:35:08] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:08] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:35:08] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:35:08] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:35:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:35:09] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:35:09] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:35:09] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:35:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:35:09] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:35:09] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:35:09] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:35:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 08:35:09] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 08:35:09] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 08:35:09] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 08:35:09] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:35:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 08:35:09] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 08:35:09] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 08:35:09] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 08:35:09] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:09] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:35:09] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:35:09] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:35:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:35:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:35:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:35:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:35:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:35:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:35:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:35:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:35:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 08:35:11] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 08:35:11] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 08:35:11] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 08:35:11] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:35:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 08:35:11] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 08:35:11] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 08:35:11] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 08:35:11] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:35:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:35:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:35:11] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:17] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 08:38:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:38:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:38:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:38:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:38:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:38:17] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:38:17] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:38:17] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:17] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:38:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:38:18] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:38:18] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:38:18] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:38:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:38:18] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:38:18] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:38:18] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:38:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:38:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:38:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 08:38:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:38:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:38:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 08:38:18] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 08:38:18] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 08:38:18] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 08:38:18] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:38:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 08:38:18] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 08:38:18] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 08:38:18] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 08:38:18] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:18] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:38:18] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:38:18] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:38:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:38:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:38:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:38:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:38:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 08:38:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 08:38:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 08:38:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:38:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 08:38:21] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 08:38:21] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 08:38:21] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 08:38:21] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 08:38:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 08:38:21] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 08:38:21] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 08:38:21] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 08:38:21] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 08:38:21] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:38:21] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 08:38:21] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:17:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:17:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:17:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:17:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:17:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:17:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:17:26] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:17:26] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:17:26] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:17:26] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:17:26] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:17:26] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:17:26] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:17:26] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:26] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:17:27] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:17:27] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:17:27] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:17:27] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:17:27] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:17:27] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:17:27] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:17:27] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:17:27] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:17:27] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:17:27] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:17:27] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:17:27] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:17:27] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:27] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:27] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:27] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:17:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:17:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:17:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:17:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:17:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:17:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:17:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:17:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:17:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:17:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:17:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:17:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:17:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:17:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:17:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:17:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:36] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:36] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:36] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:17:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:17:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:17:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:17:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:17:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:17:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:17:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:17:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:17:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:17:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:17:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:17:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:17:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:17:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:37] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:37] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:37] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:17:41] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:17:41] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:17:41] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:17:41] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:17:41] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:17:41] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:17:41] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:17:41] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:17:41] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:17:41] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:17:41] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:17:41] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:17:41] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:17:41] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:41] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:41] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:41] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:43] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:17:43] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:17:43] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:17:43] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:43] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:17:43] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:17:43] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:17:43] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:43] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:17:43] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:17:43] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:17:43] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:17:43] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:17:43] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:17:43] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:17:43] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:17:43] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:17:43] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:17:43] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:43] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:43] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:17:56] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:17:56] local.INFO: Tab value: all  
[2026-03-24 10:17:57] local.INFO: Saved type row strength  
[2026-03-24 10:17:57] local.INFO: Saved type row weightlifting  
[2026-03-24 10:17:57] local.INFO: Saved type row weightlifting  
[2026-03-24 10:17:57] local.INFO: Saved type row weightlifting  
[2026-03-24 10:17:57] local.INFO: Saved type row weightlifting  
[2026-03-24 10:17:57] local.INFO: Saved type row conditioning  
[2026-03-24 10:17:57] local.INFO: Saved type row conditioning  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row warmup  
[2026-03-24 10:17:57] local.INFO: Saved type row warmup  
[2026-03-24 10:17:57] local.INFO: Saved type row warmup  
[2026-03-24 10:17:57] local.INFO: Saved type row strength  
[2026-03-24 10:17:57] local.INFO: Saved type row weightlifting  
[2026-03-24 10:17:57] local.INFO: Saved type row weightlifting  
[2026-03-24 10:17:57] local.INFO: Saved type row weightlifting  
[2026-03-24 10:17:57] local.INFO: Saved type row weightlifting  
[2026-03-24 10:17:57] local.INFO: Saved type row conditioning  
[2026-03-24 10:17:57] local.INFO: Saved type row conditioning  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row warmup  
[2026-03-24 10:17:57] local.INFO: Saved type row warmup  
[2026-03-24 10:17:57] local.INFO: Saved type row warmup  
[2026-03-24 10:17:57] local.INFO: Saved type row strength  
[2026-03-24 10:17:57] local.INFO: Saved type row weightlifting  
[2026-03-24 10:17:57] local.INFO: Saved type row weightlifting  
[2026-03-24 10:17:57] local.INFO: Saved type row weightlifting  
[2026-03-24 10:17:57] local.INFO: Saved type row weightlifting  
[2026-03-24 10:17:57] local.INFO: Saved type row conditioning  
[2026-03-24 10:17:57] local.INFO: Saved type row conditioning  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row accessory  
[2026-03-24 10:17:57] local.INFO: Saved type row warmup  
[2026-03-24 10:17:57] local.INFO: Saved type row warmup  
[2026-03-24 10:17:57] local.INFO: Saved type row warmup  
[2026-03-24 10:18:08] local.INFO: Store Class Request Data: {"_token":"dl6IPDQuy5RiiyVjtsZBWsFaHQrMayDL2vRoTRAI","selectdatecla":"24/03/26 Tuesday","time":"18:00","duration":"1","spots":"20"} 
[2026-03-24 10:18:08] local.INFO: Creating single class. Date input: 24/03/26 Tuesday  
[2026-03-24 10:18:08] local.INFO: Parsed start date: 2026-03-24  
[2026-03-24 10:18:08] local.INFO: createClass helper called. Date: 24/03/26 Tuesday, Time: 18:00, Spots: 20  
[2026-03-24 10:18:08] local.INFO: Class created: 479  
[2026-03-24 10:18:08] local.INFO: Single class creation called successfully.  
[2026-03-24 10:18:12] local.INFO: Tab value: all  
[2026-03-24 10:18:12] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:12] local.INFO: Saved type row strength  
[2026-03-24 10:18:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:18:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:18:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:18:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:18:12] local.INFO: Saved type row conditioning  
[2026-03-24 10:18:12] local.INFO: Saved type row conditioning  
[2026-03-24 10:18:12] local.INFO: Saved type row accessory  
[2026-03-24 10:18:12] local.INFO: Saved type row accessory  
[2026-03-24 10:18:12] local.INFO: Saved type row accessory  
[2026-03-24 10:18:12] local.INFO: Saved type row accessory  
[2026-03-24 10:18:12] local.INFO: Saved type row accessory  
[2026-03-24 10:18:12] local.INFO: Saved type row warmup  
[2026-03-24 10:18:12] local.INFO: Saved type row warmup  
[2026-03-24 10:18:12] local.INFO: Saved type row warmup  
[2026-03-24 10:18:12] local.INFO: Saved type row strength  
[2026-03-24 10:18:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:18:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:18:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:18:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:18:12] local.INFO: Saved type row conditioning  
[2026-03-24 10:18:12] local.INFO: Saved type row conditioning  
[2026-03-24 10:18:12] local.INFO: Saved type row accessory  
[2026-03-24 10:18:12] local.INFO: Saved type row accessory  
[2026-03-24 10:18:12] local.INFO: Saved type row accessory  
[2026-03-24 10:18:12] local.INFO: Saved type row accessory  
[2026-03-24 10:18:12] local.INFO: Saved type row accessory  
[2026-03-24 10:18:12] local.INFO: Saved type row warmup  
[2026-03-24 10:18:12] local.INFO: Saved type row warmup  
[2026-03-24 10:18:12] local.INFO: Saved type row warmup  
[2026-03-24 10:18:13] local.INFO: Saved type row strength  
[2026-03-24 10:18:13] local.INFO: Saved type row weightlifting  
[2026-03-24 10:18:13] local.INFO: Saved type row weightlifting  
[2026-03-24 10:18:13] local.INFO: Saved type row weightlifting  
[2026-03-24 10:18:13] local.INFO: Saved type row weightlifting  
[2026-03-24 10:18:13] local.INFO: Saved type row conditioning  
[2026-03-24 10:18:13] local.INFO: Saved type row conditioning  
[2026-03-24 10:18:13] local.INFO: Saved type row accessory  
[2026-03-24 10:18:13] local.INFO: Saved type row accessory  
[2026-03-24 10:18:13] local.INFO: Saved type row accessory  
[2026-03-24 10:18:13] local.INFO: Saved type row accessory  
[2026-03-24 10:18:13] local.INFO: Saved type row accessory  
[2026-03-24 10:18:13] local.INFO: Saved type row warmup  
[2026-03-24 10:18:13] local.INFO: Saved type row warmup  
[2026-03-24 10:18:13] local.INFO: Saved type row warmup  
[2026-03-24 10:18:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:14] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:14] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:14] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:14] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:14] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:14] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:14] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:14] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:14] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:14] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:14] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:16] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:16] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:16] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:16] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:16] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:16] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:16] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:16] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:16] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:16] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:16] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:17] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:17] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:17] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:21] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:21] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:21] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:21] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:21] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:21] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:21] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:21] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:21] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:21] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:21] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:28] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:28] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:28] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:28] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:28] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:28] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:28] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:28] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:28] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:28] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:28] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:33] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:33] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:33] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:33] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:33] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:33] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:33] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:33] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:33] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:33] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:33] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:33] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:33] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:33] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:33] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:33] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:33] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:34] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:34] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:34] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:34] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:34] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:34] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:34] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:34] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:34] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:34] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:34] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:34] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:34] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:34] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:34] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:34] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:34] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:36] local.INFO: storewarmupdaily function called.  
[2026-03-24 10:18:36] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:18:36] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":41,"workout_format_type":"emom","workout_format_id":7,"reps":3,"set_number":2,"round_number":null,"training_load":63,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 10:18:36] local.INFO: Existing warmup record: {"dailyWarmup":{"id":21,"class_id":273,"member_id":2,"warmup_id":null,"workout_manager_id":41,"workout_format_type":"emom","workout_format_id":7,"reps":2,"date":"24/03/26 Tuesday","created_at":"2026-03-24T06:12:21.000000Z","updated_at":"2026-03-24T06:12:21.000000Z","exercise_time":"01:00","round_number":null}} 
[2026-03-24 10:18:36] local.INFO: Warm-up updated {"workout_manager_id":41,"workout_format_type":"emom","workout_format_id":7,"round_number":null} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:36] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:36] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:36] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:36] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:40] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:40] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:40] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:40] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:40] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:40] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:40] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:40] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:40] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:40] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:40] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:40] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:40] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:40] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:40] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:40] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:40] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:41] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:41] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:41] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:41] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:41] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:41] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:41] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:41] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:41] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:41] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:41] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:41] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:41] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:41] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:41] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:41] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:41] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:44] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:44] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:44] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:44] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:44] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:44] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:44] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:44] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:44] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:44] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:44] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:44] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:44] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:44] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:44] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:44] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:44] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:45] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:45] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:45] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:45] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:45] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:45] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:45] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:45] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:45] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:45] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:45] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:45] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:45] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:45] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:45] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:45] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:45] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:45] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:45] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:45] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:45] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:46] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:46] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:46] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:46] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:46] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:46] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:46] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:46] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:46] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:46] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:46] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:46] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:46] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:46] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:46] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:46] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:46] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:46] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:46] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:46] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:46] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:48] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:48] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:48] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:48] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:48] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:48] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:48] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:48] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:48] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:48] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:54] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:54] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:54] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:54] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:54] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:54] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:54] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:54] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:54] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:54] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:54] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:18:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:59] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:59] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:18:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:59] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:59] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:18:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:18:59] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:18:59] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:18:59] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:59] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:18:59] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:00] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:01] local.INFO: Tab value: all  
[2026-03-24 10:19:01] local.INFO: Saved type row strength  
[2026-03-24 10:19:01] local.INFO: Saved type row strength  
[2026-03-24 10:19:01] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:01] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:01] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:01] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:01] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:01] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:01] local.INFO: Saved type row accessory  
[2026-03-24 10:19:01] local.INFO: Saved type row accessory  
[2026-03-24 10:19:01] local.INFO: Saved type row accessory  
[2026-03-24 10:19:01] local.INFO: Saved type row accessory  
[2026-03-24 10:19:01] local.INFO: Saved type row accessory  
[2026-03-24 10:19:01] local.INFO: Saved type row warmup  
[2026-03-24 10:19:01] local.INFO: Saved type row warmup  
[2026-03-24 10:19:01] local.INFO: Saved type row warmup  
[2026-03-24 10:19:01] local.INFO: Saved type row strength  
[2026-03-24 10:19:01] local.INFO: Saved type row strength  
[2026-03-24 10:19:01] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:01] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:01] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:01] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:01] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:01] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:01] local.INFO: Saved type row accessory  
[2026-03-24 10:19:01] local.INFO: Saved type row accessory  
[2026-03-24 10:19:01] local.INFO: Saved type row accessory  
[2026-03-24 10:19:01] local.INFO: Saved type row accessory  
[2026-03-24 10:19:01] local.INFO: Saved type row accessory  
[2026-03-24 10:19:01] local.INFO: Saved type row warmup  
[2026-03-24 10:19:01] local.INFO: Saved type row warmup  
[2026-03-24 10:19:01] local.INFO: Saved type row warmup  
[2026-03-24 10:19:02] local.INFO: Saved type row strength  
[2026-03-24 10:19:02] local.INFO: Saved type row strength  
[2026-03-24 10:19:02] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:02] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:02] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:02] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:02] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:02] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:02] local.INFO: Saved type row accessory  
[2026-03-24 10:19:02] local.INFO: Saved type row accessory  
[2026-03-24 10:19:02] local.INFO: Saved type row accessory  
[2026-03-24 10:19:02] local.INFO: Saved type row accessory  
[2026-03-24 10:19:02] local.INFO: Saved type row accessory  
[2026-03-24 10:19:02] local.INFO: Saved type row warmup  
[2026-03-24 10:19:02] local.INFO: Saved type row warmup  
[2026-03-24 10:19:02] local.INFO: Saved type row warmup  
[2026-03-24 10:19:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:04] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:04] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:04] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:04] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:04] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:04] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:04] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:04] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:04] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:04] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:04] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:04] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:04] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:04] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:04] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:04] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:04] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:04] local.INFO: assignWorkoutToClass:  {"workout_id":59,"class_id":479,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 10:19:05] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:05] local.INFO: Saved type row strength  
[2026-03-24 10:19:05] local.INFO: Saved type row strength  
[2026-03-24 10:19:05] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:05] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:05] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:05] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:05] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:05] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:05] local.INFO: Saved type row accessory  
[2026-03-24 10:19:05] local.INFO: Saved type row accessory  
[2026-03-24 10:19:05] local.INFO: Saved type row accessory  
[2026-03-24 10:19:05] local.INFO: Saved type row accessory  
[2026-03-24 10:19:05] local.INFO: Saved type row accessory  
[2026-03-24 10:19:05] local.INFO: Saved type row warmup  
[2026-03-24 10:19:05] local.INFO: Saved type row warmup  
[2026-03-24 10:19:05] local.INFO: Saved type row warmup  
[2026-03-24 10:19:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:05] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:05] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:05] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:05] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:05] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:05] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:05] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:05] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:05] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:05] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:05] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:05] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:05] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:05] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:05] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:05] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:05] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:19] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:19] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:19] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:19] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:19] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:19] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:19] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:19] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:19] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:19] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:19] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:23] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:23] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:23] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:23] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:23] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:23] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:23] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:23] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:23] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:23] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:23] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:25] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:25] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:26] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:26] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:26] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:26] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:26] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:26] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:26] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:26] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:26] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:26] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:28] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:28] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:28] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:28] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:28] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:28] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:28] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:28] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:28] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:28] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:28] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:37] local.INFO: Tab value: all  
[2026-03-24 10:19:37] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:37] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:37] local.INFO: Saved type row strength  
[2026-03-24 10:19:37] local.INFO: Saved type row strength  
[2026-03-24 10:19:37] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:37] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:37] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:37] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:37] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:37] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:37] local.INFO: Saved type row accessory  
[2026-03-24 10:19:37] local.INFO: Saved type row accessory  
[2026-03-24 10:19:37] local.INFO: Saved type row accessory  
[2026-03-24 10:19:37] local.INFO: Saved type row accessory  
[2026-03-24 10:19:37] local.INFO: Saved type row accessory  
[2026-03-24 10:19:37] local.INFO: Saved type row warmup  
[2026-03-24 10:19:37] local.INFO: Saved type row warmup  
[2026-03-24 10:19:37] local.INFO: Saved type row warmup  
[2026-03-24 10:19:37] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:37] local.INFO: Saved type row strength  
[2026-03-24 10:19:37] local.INFO: Saved type row strength  
[2026-03-24 10:19:37] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:37] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:37] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:37] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:37] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:37] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:37] local.INFO: Saved type row accessory  
[2026-03-24 10:19:37] local.INFO: Saved type row accessory  
[2026-03-24 10:19:37] local.INFO: Saved type row accessory  
[2026-03-24 10:19:37] local.INFO: Saved type row accessory  
[2026-03-24 10:19:37] local.INFO: Saved type row accessory  
[2026-03-24 10:19:37] local.INFO: Saved type row warmup  
[2026-03-24 10:19:37] local.INFO: Saved type row warmup  
[2026-03-24 10:19:37] local.INFO: Saved type row warmup  
[2026-03-24 10:19:38] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:38] local.INFO: Saved type row strength  
[2026-03-24 10:19:38] local.INFO: Saved type row strength  
[2026-03-24 10:19:38] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:38] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:38] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:38] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:38] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:38] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:38] local.INFO: Saved type row accessory  
[2026-03-24 10:19:38] local.INFO: Saved type row accessory  
[2026-03-24 10:19:38] local.INFO: Saved type row accessory  
[2026-03-24 10:19:38] local.INFO: Saved type row accessory  
[2026-03-24 10:19:38] local.INFO: Saved type row accessory  
[2026-03-24 10:19:38] local.INFO: Saved type row warmup  
[2026-03-24 10:19:38] local.INFO: Saved type row warmup  
[2026-03-24 10:19:38] local.INFO: Saved type row warmup  
[2026-03-24 10:19:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:38] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:38] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:38] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:38] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:38] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:38] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:38] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:38] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:38] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:38] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:38] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:38] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:38] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:38] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:38] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:38] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:38] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:39] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:39] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:39] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:39] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:39] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:39] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:39] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:39] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:39] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:39] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:40] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:40] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:40] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:40] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:40] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:40] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:40] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:40] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:40] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:40] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:40] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:40] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:40] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:40] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:40] local.INFO: assignWorkoutToClass:  {"workout_id":60,"class_id":479,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 10:19:40] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:40] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:40] local.INFO: Saved type row strength  
[2026-03-24 10:19:40] local.INFO: Saved type row strength  
[2026-03-24 10:19:40] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:40] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:40] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:40] local.INFO: Saved type row weightlifting  
[2026-03-24 10:19:40] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:40] local.INFO: Saved type row conditioning  
[2026-03-24 10:19:40] local.INFO: Saved type row accessory  
[2026-03-24 10:19:40] local.INFO: Saved type row accessory  
[2026-03-24 10:19:40] local.INFO: Saved type row accessory  
[2026-03-24 10:19:40] local.INFO: Saved type row accessory  
[2026-03-24 10:19:40] local.INFO: Saved type row accessory  
[2026-03-24 10:19:40] local.INFO: Saved type row warmup  
[2026-03-24 10:19:40] local.INFO: Saved type row warmup  
[2026-03-24 10:19:40] local.INFO: Saved type row warmup  
[2026-03-24 10:19:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:50] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:50] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:50] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:50] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:50] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:50] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:50] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:50] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:50] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:50] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:50] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:50] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:50] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:50] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:50] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:50] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:50] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:50] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:50] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:50] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:50] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:52] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:52] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:52] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:19:52] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:19:52] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:19:52] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:52] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:52] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:52] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:52] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:19:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:19:52] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:19:52] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:19:52] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:19:52] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:19:52] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:52] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:19:52] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:19:54] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:19:54] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":45,"workout_format_type":"emom","workout_format_id":9,"reps":3,"set_number":2,"round_number":null,"training_load":63,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 10:19:54] local.INFO: Existing accessory record: {"dailyAccessory":{"id":3,"class_id":273,"round_number":null,"member_id":2,"workout_manager_id":45,"workout_format_type":"emom","workout_format_id":9,"set_number":2,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T07:30:21.000000Z","updated_at":"2026-03-24T07:30:21.000000Z","exercise_time":"01:00"}} 
[2026-03-24 10:19:54] local.INFO: Accessory updated {"workout_manager_id":45,"set_number":2} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:00] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:00] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:00] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:00] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:00] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:00] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:00] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:00] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:00] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:00] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:00] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:02] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:02] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:02] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:02] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:02] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:02] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:02] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:02] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:02] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:02] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:02] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:02] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:02] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:02] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:02] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:02] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:02] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:02] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:02] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:02] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:02] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:03] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:03] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:03] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:03] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:03] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:03] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:03] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:03] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:03] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:03] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:03] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:03] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:03] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:03] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:03] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:03] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:03] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:04] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:04] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:04] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:04] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:04] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:04] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:04] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:04] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:04] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:04] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:04] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:04] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:04] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:04] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:04] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:04] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:04] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:05] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:05] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:05] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:05] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:05] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:05] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:05] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:05] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:05] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:05] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:05] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:05] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:05] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:05] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:06] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:06] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:06] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:06] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:06] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:06] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:06] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:06] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:06] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:06] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:06] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:06] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:06] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:06] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:06] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:06] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:06] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:06] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:06] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:09] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:09] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:09] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:09] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:09] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:09] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:09] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:09] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:09] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:09] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:09] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:09] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:09] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:09] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:09] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:09] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:09] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:12] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:20:12] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:20:12] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":18,"reps":2,"set_number":1,"round_number":"1/2","training_load":12,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 10:20:13] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":34,"class_id":273,"round_number":"2/2","member_id":2,"conditioning_id":null,"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":18,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T07:47:14.000000Z","updated_at":"2026-03-24T07:50:19.000000Z","exercise_time":"00:00"}} 
[2026-03-24 10:20:13] local.INFO: Conditioning updated {"workout_manager_id":52} 
[2026-03-24 10:20:13] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:20:13] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:20:13] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":19,"reps":2,"set_number":1,"round_number":"1/2","training_load":20,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 10:20:13] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":35,"class_id":273,"round_number":"2/2","member_id":2,"conditioning_id":null,"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":19,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T07:47:14.000000Z","updated_at":"2026-03-24T07:50:19.000000Z","exercise_time":"00:00"}} 
[2026-03-24 10:20:13] local.INFO: Conditioning updated {"workout_manager_id":52} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:13] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:13] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:13] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:13] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:13] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:13] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:13] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:13] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:13] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:13] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:13] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:13] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:13] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:13] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:13] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:13] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:13] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:14] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:14] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:14] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:14] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:14] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:14] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:14] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:14] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:14] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:14] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:14] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:15] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:15] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:15] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:15] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:15] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:15] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:15] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:15] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:15] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:15] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:15] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:15] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:15] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:15] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:15] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:15] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:15] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:15] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:15] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:15] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:15] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:17] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:17] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:17] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:17] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:17] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:17] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:17] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:17] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:17] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:17] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:17] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:17] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:17] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:17] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:17] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:17] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:17] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:17] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:17] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:17] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:17] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:18] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:18] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:18] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:18] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:18] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:18] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:18] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:18] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:18] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:18] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:18] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:18] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:18] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:18] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:18] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:18] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:18] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:23] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:20:23] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:20:23] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":18,"reps":2,"set_number":2,"round_number":"2/2","training_load":12,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 10:20:23] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":34,"class_id":273,"round_number":"1/2","member_id":2,"conditioning_id":null,"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":18,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T07:47:14.000000Z","updated_at":"2026-03-24T10:20:13.000000Z","exercise_time":"00:00"}} 
[2026-03-24 10:20:23] local.INFO: Conditioning updated {"workout_manager_id":52} 
[2026-03-24 10:20:23] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:20:23] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:20:23] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":19,"reps":2,"set_number":2,"round_number":"2/2","training_load":20,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 10:20:23] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":35,"class_id":273,"round_number":"1/2","member_id":2,"conditioning_id":null,"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":19,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T07:47:14.000000Z","updated_at":"2026-03-24T10:20:13.000000Z","exercise_time":"00:00"}} 
[2026-03-24 10:20:23] local.INFO: Conditioning updated {"workout_manager_id":52} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:24] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:24] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:24] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:24] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:24] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:24] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:24] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:24] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:24] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:24] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:24] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:25] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:20:25] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:20:25] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":18,"reps":2,"set_number":2,"round_number":2,"date":"24/03/26 Tuesday","class_Id":273},{"workout_manager_id":52,"workout_format_type":"rounds","workout_format_id":19,"reps":3,"set_number":2,"round_number":2,"date":"24/03/26 Tuesday","class_Id":273}]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:25] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:25] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:25] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:25] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:25] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:25] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:25] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:25] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:25] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:25] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:25] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:26] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:26] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:26] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:26] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:26] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:26] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:26] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[59,60],"types":["strength","conditioning"]} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60]} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[59,60],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":2,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-03-24 10:20:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:20:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:34] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:34] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:34] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:35] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:35] local.INFO: Tab value: all  
[2026-03-24 10:20:35] local.INFO: Saved type row warmup  
[2026-03-24 10:20:35] local.INFO: Saved type row conditioning  
[2026-03-24 10:20:35] local.INFO: Saved type row strength  
[2026-03-24 10:20:35] local.INFO: Saved type row strength  
[2026-03-24 10:20:35] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:35] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:35] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:35] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:35] local.INFO: Saved type row conditioning  
[2026-03-24 10:20:35] local.INFO: Saved type row conditioning  
[2026-03-24 10:20:35] local.INFO: Saved type row accessory  
[2026-03-24 10:20:35] local.INFO: Saved type row accessory  
[2026-03-24 10:20:35] local.INFO: Saved type row accessory  
[2026-03-24 10:20:35] local.INFO: Saved type row accessory  
[2026-03-24 10:20:35] local.INFO: Saved type row accessory  
[2026-03-24 10:20:35] local.INFO: Saved type row warmup  
[2026-03-24 10:20:35] local.INFO: Saved type row warmup  
[2026-03-24 10:20:35] local.INFO: Saved type row warmup  
[2026-03-24 10:20:36] local.INFO: Saved type row warmup  
[2026-03-24 10:20:36] local.INFO: Saved type row conditioning  
[2026-03-24 10:20:36] local.INFO: Saved type row strength  
[2026-03-24 10:20:36] local.INFO: Saved type row strength  
[2026-03-24 10:20:36] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:36] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:36] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:36] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:36] local.INFO: Saved type row conditioning  
[2026-03-24 10:20:36] local.INFO: Saved type row conditioning  
[2026-03-24 10:20:36] local.INFO: Saved type row accessory  
[2026-03-24 10:20:36] local.INFO: Saved type row accessory  
[2026-03-24 10:20:36] local.INFO: Saved type row accessory  
[2026-03-24 10:20:36] local.INFO: Saved type row accessory  
[2026-03-24 10:20:36] local.INFO: Saved type row accessory  
[2026-03-24 10:20:36] local.INFO: Saved type row warmup  
[2026-03-24 10:20:36] local.INFO: Saved type row warmup  
[2026-03-24 10:20:36] local.INFO: Saved type row warmup  
[2026-03-24 10:20:36] local.INFO: Saved type row warmup  
[2026-03-24 10:20:36] local.INFO: Saved type row conditioning  
[2026-03-24 10:20:36] local.INFO: Saved type row strength  
[2026-03-24 10:20:36] local.INFO: Saved type row strength  
[2026-03-24 10:20:36] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:36] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:36] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:36] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:36] local.INFO: Saved type row conditioning  
[2026-03-24 10:20:36] local.INFO: Saved type row conditioning  
[2026-03-24 10:20:36] local.INFO: Saved type row accessory  
[2026-03-24 10:20:36] local.INFO: Saved type row accessory  
[2026-03-24 10:20:36] local.INFO: Saved type row accessory  
[2026-03-24 10:20:36] local.INFO: Saved type row accessory  
[2026-03-24 10:20:36] local.INFO: Saved type row accessory  
[2026-03-24 10:20:36] local.INFO: Saved type row warmup  
[2026-03-24 10:20:36] local.INFO: Saved type row warmup  
[2026-03-24 10:20:36] local.INFO: Saved type row warmup  
[2026-03-24 10:20:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:37] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:37] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:37] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:37] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:37] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:37] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:37] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:42] local.INFO: assignWorkoutToClass:  {"workout_id":61,"class_id":479,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 10:20:42] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:42] local.INFO: Saved type row warmup  
[2026-03-24 10:20:42] local.INFO: Saved type row conditioning  
[2026-03-24 10:20:42] local.INFO: Saved type row strength  
[2026-03-24 10:20:42] local.INFO: Saved type row strength  
[2026-03-24 10:20:42] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:42] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:42] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:42] local.INFO: Saved type row weightlifting  
[2026-03-24 10:20:42] local.INFO: Saved type row conditioning  
[2026-03-24 10:20:42] local.INFO: Saved type row conditioning  
[2026-03-24 10:20:42] local.INFO: Saved type row accessory  
[2026-03-24 10:20:42] local.INFO: Saved type row accessory  
[2026-03-24 10:20:42] local.INFO: Saved type row accessory  
[2026-03-24 10:20:42] local.INFO: Saved type row accessory  
[2026-03-24 10:20:42] local.INFO: Saved type row accessory  
[2026-03-24 10:20:42] local.INFO: Saved type row warmup  
[2026-03-24 10:20:42] local.INFO: Saved type row warmup  
[2026-03-24 10:20:42] local.INFO: Saved type row warmup  
[2026-03-24 10:20:46] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:46] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:46] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:46] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:48] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:48] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:48] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:52] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:52] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:52] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:53] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:53] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:53] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:54] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:54] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:54] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:57] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:57] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:57] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:57] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:57] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:57] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:57] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:57] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:57] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:57] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:57] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:58] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:20:58] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:20:58] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":60,"workout_format_type":"emom","workout_format_id":10,"reps":2,"date":"24/03/26 Tuesday","is_completed":1,"status":"completed","set_number":1,"class_Id":479},{"workout_manager_id":60,"workout_format_type":"emom","workout_format_id":11,"reps":3,"date":"24/03/26 Tuesday","is_completed":1,"status":"completed","set_number":1,"class_Id":479}]} 
[2026-03-24 10:20:58] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 10:20:58] local.INFO: New conditioning record created {"workout_manager_id":60} 
[2026-03-24 10:20:58] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 10:20:58] local.INFO: New conditioning record created {"workout_manager_id":60} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:59] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:20:59] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:20:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:20:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:20:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:59] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:59] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:59] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:59] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:20:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:20:59] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:20:59] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:20:59] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:20:59] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:20:59] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:59] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:20:59] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:21:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:21:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:21:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:21:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:21:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:21:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:21:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:21:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:21:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:21:00] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:21:00] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:21:00] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:21:00] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:21:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:21:00] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:21:00] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:21:00] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:21:00] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:00] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:00] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:00] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:21:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:02] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:02] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:02] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:21:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:04] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:04] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:04] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:21:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:05] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:05] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:05] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:21:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:05] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:05] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:05] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:21:06] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:06] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:06] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:06] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:06] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:21:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:18] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:18] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:18] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:21:20] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:20] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:20] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:20] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:20] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:21:20] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:20] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:20] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:20] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:20] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:21:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:21:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/03/26 Monday","date_obj":"2026-03-23"} 
[2026-03-24 10:21:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":115,"date_string":"23/03/26 Monday","patterns":["23/03/26 Monday","23/03/26","23/03/2026","23/03/26 Monday","23/03/2026 Monday","Monday 23/03/26","Monday 23/03/2026"]} 
[2026-03-24 10:21:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:21:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 10:21:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 10:21:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:21:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-24 10:21:52] local.WARNING: [getWorkouts] No workout assignments found {"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/03/26 Monday","date_obj":"2026-03-23"} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":115,"date_string":"23/03/26 Monday","patterns":["23/03/26 Monday","23/03/26","23/03/2026","23/03/26 Monday","23/03/2026 Monday","Monday 23/03/26","Monday 23/03/2026"]} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-24 10:21:55] local.WARNING: [getWorkouts] No workout assignments found {"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/03/26 Monday","date_obj":"2026-03-23"} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":115,"date_string":"23/03/26 Monday","patterns":["23/03/26 Monday","23/03/26","23/03/2026","23/03/26 Monday","23/03/2026 Monday","Monday 23/03/26","Monday 23/03/2026"]} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 10:21:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:21:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-24 10:21:56] local.WARNING: [getWorkouts] No workout assignments found {"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:21:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:21:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:21:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:21:57] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:57] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:21:57] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:22:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:22:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:22:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:22:01] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:22:01] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:22:01] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:22:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:22:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:22:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:22:02] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:22:02] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:22:02] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:22:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:22:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/03/26 Monday","date_obj":"2026-03-23"} 
[2026-03-24 10:22:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":115,"date_string":"23/03/26 Monday","patterns":["23/03/26 Monday","23/03/26","23/03/2026","23/03/26 Monday","23/03/2026 Monday","Monday 23/03/26","Monday 23/03/2026"]} 
[2026-03-24 10:22:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:22:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 10:22:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 10:22:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:22:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-24 10:22:09] local.WARNING: [getWorkouts] No workout assignments found {"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:22:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:22:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:22:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:22:32] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:22:32] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:22:32] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:22:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:22:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:22:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:22:35] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:22:35] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:22:35] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:23:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:23:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:23:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:23:37] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:23:37] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:23:37] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:23:38] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:23:38] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:23:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:23:38] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:23:38] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:23:38] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:23:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:23:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:23:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:23:39] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:23:39] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:23:39] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:23:58] local.INFO: storewarmupdaily function called.  
[2026-03-24 10:23:58] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:23:58] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":61,"workout_format_type":"intervals","workout_format_id":11,"reps":0,"set_number":1,"round_number":null,"training_load":null,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 10:23:58] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-03-24 10:23:58] local.INFO: New warm-up created {"workout_manager_id":61,"workout_format_type":"intervals","workout_format_id":11,"round_number":null} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:23:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:23:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:23:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:23:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:23:59] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:23:59] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:23:59] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:24:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:24:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:24:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:24:00] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:00] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:00] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:24:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:24:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:24:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:24:00] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:00] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:00] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:24:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:24:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:24:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:24:34] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:34] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:34] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:24:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:24:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:24:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:24:35] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:24:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:24:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:24:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:24:35] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[59,60,61],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[59,60,61],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals"]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-03-24 10:24:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:24:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:24:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:24:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:24:35] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:35] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:24:53] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:53] local.INFO: Tab value: all  
[2026-03-24 10:24:53] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:53] local.INFO: Saved type row warmup  
[2026-03-24 10:24:53] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:53] local.INFO: Saved type row strength  
[2026-03-24 10:24:53] local.INFO: Saved type row strength  
[2026-03-24 10:24:53] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:53] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:53] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:53] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:53] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:53] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:53] local.INFO: Saved type row accessory  
[2026-03-24 10:24:53] local.INFO: Saved type row accessory  
[2026-03-24 10:24:53] local.INFO: Saved type row accessory  
[2026-03-24 10:24:53] local.INFO: Saved type row accessory  
[2026-03-24 10:24:53] local.INFO: Saved type row accessory  
[2026-03-24 10:24:53] local.INFO: Saved type row warmup  
[2026-03-24 10:24:53] local.INFO: Saved type row warmup  
[2026-03-24 10:24:53] local.INFO: Saved type row warmup  
[2026-03-24 10:24:53] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:53] local.INFO: Saved type row warmup  
[2026-03-24 10:24:53] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:53] local.INFO: Saved type row strength  
[2026-03-24 10:24:53] local.INFO: Saved type row strength  
[2026-03-24 10:24:53] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:53] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:53] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:53] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:53] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:53] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:53] local.INFO: Saved type row accessory  
[2026-03-24 10:24:53] local.INFO: Saved type row accessory  
[2026-03-24 10:24:53] local.INFO: Saved type row accessory  
[2026-03-24 10:24:53] local.INFO: Saved type row accessory  
[2026-03-24 10:24:53] local.INFO: Saved type row accessory  
[2026-03-24 10:24:53] local.INFO: Saved type row warmup  
[2026-03-24 10:24:53] local.INFO: Saved type row warmup  
[2026-03-24 10:24:53] local.INFO: Saved type row warmup  
[2026-03-24 10:24:54] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:54] local.INFO: Saved type row warmup  
[2026-03-24 10:24:54] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:54] local.INFO: Saved type row strength  
[2026-03-24 10:24:54] local.INFO: Saved type row strength  
[2026-03-24 10:24:54] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:54] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:54] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:54] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:54] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:54] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:54] local.INFO: Saved type row accessory  
[2026-03-24 10:24:54] local.INFO: Saved type row accessory  
[2026-03-24 10:24:54] local.INFO: Saved type row accessory  
[2026-03-24 10:24:54] local.INFO: Saved type row accessory  
[2026-03-24 10:24:54] local.INFO: Saved type row accessory  
[2026-03-24 10:24:54] local.INFO: Saved type row warmup  
[2026-03-24 10:24:54] local.INFO: Saved type row warmup  
[2026-03-24 10:24:54] local.INFO: Saved type row warmup  
[2026-03-24 10:24:58] local.INFO: assignWorkoutToClass:  {"workout_id":62,"class_id":479,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 10:24:58] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:24:58] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:58] local.INFO: Saved type row warmup  
[2026-03-24 10:24:58] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:58] local.INFO: Saved type row strength  
[2026-03-24 10:24:58] local.INFO: Saved type row strength  
[2026-03-24 10:24:58] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:58] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:58] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:58] local.INFO: Saved type row weightlifting  
[2026-03-24 10:24:58] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:58] local.INFO: Saved type row conditioning  
[2026-03-24 10:24:58] local.INFO: Saved type row accessory  
[2026-03-24 10:24:58] local.INFO: Saved type row accessory  
[2026-03-24 10:24:58] local.INFO: Saved type row accessory  
[2026-03-24 10:24:58] local.INFO: Saved type row accessory  
[2026-03-24 10:24:58] local.INFO: Saved type row accessory  
[2026-03-24 10:24:58] local.INFO: Saved type row warmup  
[2026-03-24 10:24:58] local.INFO: Saved type row warmup  
[2026-03-24 10:24:58] local.INFO: Saved type row warmup  
[2026-03-24 10:26:06] local.INFO: storewarmupdaily function called.  
[2026-03-24 10:26:06] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:26:06] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":61,"workout_format_type":"intervals","workout_format_id":12,"reps":0,"set_number":2,"round_number":null,"training_load":null,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 10:26:06] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-03-24 10:26:06] local.INFO: New warm-up created {"workout_manager_id":61,"workout_format_type":"intervals","workout_format_id":12,"round_number":null} 
[2026-03-24 10:27:12] local.INFO: storestrengthdaily function called.  
[2026-03-24 10:27:12] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:27:12] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":59,"workout_format_type":"straight-sets","workout_format_id":128,"reps":3,"weight":7.5,"date":"24/03/26 Tuesday","set_number":2,"class_Id":479}]} 
[2026-03-24 10:27:12] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-03-24 10:27:12] local.INFO: New strength record created {"workout_manager_id":59,"set_number":2} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:27:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:27:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:27:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:27:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:27:12] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:27:12] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:27:12] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:27:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:27:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:27:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:27:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:27:48] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:27:48] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:27:48] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:27:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:27:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:27:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:27:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:27:49] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:27:49] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:27:49] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:27:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:27:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:27:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:27:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:27:49] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:27:49] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:27:49] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:27:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:27:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:27:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:27:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:27:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:27:50] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:27:50] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:27:50] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:27:54] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:27:54] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:27:54] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":24,"reps":2,"set_number":1,"round_number":"1/2","training_load":45,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 10:27:54] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 10:27:54] local.INFO: New conditioning record created {"workout_manager_id":62} 
[2026-03-24 10:27:54] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:27:54] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:27:54] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":25,"reps":3,"set_number":1,"round_number":"1/2","training_load":21,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 10:27:54] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 10:27:54] local.INFO: New conditioning record created {"workout_manager_id":62} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:28:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:28:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:28:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:28:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:28:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:28:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:28:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:28:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:28:29] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:28:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:28:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:28:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:28:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:28:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:28:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:28:30] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:28:30] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:28:30] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:28:31] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:28:31] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:28:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:28:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:28:31] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:28:31] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:28:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:28:31] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:28:31] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:28:31] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:04] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:29:04] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:29:04] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":24,"reps":2,"set_number":2,"round_number":"2/2","training_load":45,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 10:29:04] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":38,"class_id":479,"round_number":"1/2","member_id":2,"conditioning_id":null,"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":24,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T10:27:54.000000Z","updated_at":"2026-03-24T10:27:54.000000Z","exercise_time":"00:00"}} 
[2026-03-24 10:29:04] local.INFO: Conditioning updated {"workout_manager_id":62} 
[2026-03-24 10:29:05] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:29:05] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:29:05] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":25,"reps":3,"set_number":2,"round_number":"2/2","training_load":21,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 10:29:05] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":39,"class_id":479,"round_number":"1/2","member_id":2,"conditioning_id":null,"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":25,"reps":3,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T10:27:54.000000Z","updated_at":"2026-03-24T10:27:54.000000Z","exercise_time":"00:00"}} 
[2026-03-24 10:29:05] local.INFO: Conditioning updated {"workout_manager_id":62} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:05] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:05] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:05] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:06] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:29:06] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:29:06] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":24,"reps":2,"set_number":2,"round_number":2,"date":"24/03/26 Tuesday","class_Id":479},{"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":25,"reps":3,"set_number":2,"round_number":2,"date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:06] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:06] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:06] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:06] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:06] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:06] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:06] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:23] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:23] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:23] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:23] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:23] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:23] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:26] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:27] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:27] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:27] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:28] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:28] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:28] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:29] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:33] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:33] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:33] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:33] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:33] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:33] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:33] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:35] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:35] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:35] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:35] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:35] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:35] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:36] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:36] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:36] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:39] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:39] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:39] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:40] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:40] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:40] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:41] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:41] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:41] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:41] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:41] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:41] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:41] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:41] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:43] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:43] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:43] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:43] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:43] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:43] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:43] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:29:44] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:44] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:29:44] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:29:44] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:29:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:29:44] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:44] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:29:44] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:30:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:30:15] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:15] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:15] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:30:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:30:16] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:16] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:16] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:30:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:30:18] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:18] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:18] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:30:52] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:52] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:52] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:52] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:30:52] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:52] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:52] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:30:52] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:52] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:52] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:52] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:30:52] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:52] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:52] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:30:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:30:53] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:53] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:53] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:30:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:30:53] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:53] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:53] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:30:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:30:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:30:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:30:54] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:54] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:30:54] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:30:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:54] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:30:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:30:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:30:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:30:54] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:54] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:30:54] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[59,60,61,62],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62]} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:32:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:32:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[59,60,61,62],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:32:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:32:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:32:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:32:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":3},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-03-24 10:32:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:32:34] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:32:34] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:32:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:32:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:32:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:32:34] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:32:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:32:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:32:34] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:32:34] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:32:34] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:32:43] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:32:43] local.INFO: Tab value: all  
[2026-03-24 10:32:43] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:43] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:43] local.INFO: Saved type row warmup  
[2026-03-24 10:32:43] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:43] local.INFO: Saved type row strength  
[2026-03-24 10:32:43] local.INFO: Saved type row strength  
[2026-03-24 10:32:43] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:43] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:43] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:43] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:43] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:43] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:43] local.INFO: Saved type row accessory  
[2026-03-24 10:32:43] local.INFO: Saved type row accessory  
[2026-03-24 10:32:43] local.INFO: Saved type row accessory  
[2026-03-24 10:32:43] local.INFO: Saved type row accessory  
[2026-03-24 10:32:43] local.INFO: Saved type row accessory  
[2026-03-24 10:32:43] local.INFO: Saved type row warmup  
[2026-03-24 10:32:43] local.INFO: Saved type row warmup  
[2026-03-24 10:32:43] local.INFO: Saved type row warmup  
[2026-03-24 10:32:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:44] local.INFO: Saved type row warmup  
[2026-03-24 10:32:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:44] local.INFO: Saved type row strength  
[2026-03-24 10:32:44] local.INFO: Saved type row strength  
[2026-03-24 10:32:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:44] local.INFO: Saved type row accessory  
[2026-03-24 10:32:44] local.INFO: Saved type row accessory  
[2026-03-24 10:32:44] local.INFO: Saved type row accessory  
[2026-03-24 10:32:44] local.INFO: Saved type row accessory  
[2026-03-24 10:32:44] local.INFO: Saved type row accessory  
[2026-03-24 10:32:44] local.INFO: Saved type row warmup  
[2026-03-24 10:32:44] local.INFO: Saved type row warmup  
[2026-03-24 10:32:44] local.INFO: Saved type row warmup  
[2026-03-24 10:32:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:44] local.INFO: Saved type row warmup  
[2026-03-24 10:32:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:44] local.INFO: Saved type row strength  
[2026-03-24 10:32:44] local.INFO: Saved type row strength  
[2026-03-24 10:32:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:44] local.INFO: Saved type row accessory  
[2026-03-24 10:32:44] local.INFO: Saved type row accessory  
[2026-03-24 10:32:44] local.INFO: Saved type row accessory  
[2026-03-24 10:32:44] local.INFO: Saved type row accessory  
[2026-03-24 10:32:44] local.INFO: Saved type row accessory  
[2026-03-24 10:32:44] local.INFO: Saved type row warmup  
[2026-03-24 10:32:44] local.INFO: Saved type row warmup  
[2026-03-24 10:32:44] local.INFO: Saved type row warmup  
[2026-03-24 10:32:47] local.INFO: assignWorkoutToClass:  {"workout_id":63,"class_id":479,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 10:32:47] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:32:47] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:47] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:47] local.INFO: Saved type row warmup  
[2026-03-24 10:32:47] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:47] local.INFO: Saved type row strength  
[2026-03-24 10:32:47] local.INFO: Saved type row strength  
[2026-03-24 10:32:47] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:47] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:47] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:47] local.INFO: Saved type row weightlifting  
[2026-03-24 10:32:47] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:47] local.INFO: Saved type row conditioning  
[2026-03-24 10:32:47] local.INFO: Saved type row accessory  
[2026-03-24 10:32:47] local.INFO: Saved type row accessory  
[2026-03-24 10:32:47] local.INFO: Saved type row accessory  
[2026-03-24 10:32:47] local.INFO: Saved type row accessory  
[2026-03-24 10:32:47] local.INFO: Saved type row accessory  
[2026-03-24 10:32:47] local.INFO: Saved type row warmup  
[2026-03-24 10:32:47] local.INFO: Saved type row warmup  
[2026-03-24 10:32:47] local.INFO: Saved type row warmup  
[2026-03-24 10:32:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:32:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:32:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:32:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:32:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:32:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:32:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:32:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:32:53] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:32:53] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:32:53] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:33:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:33:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:33:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:33:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:33:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:33:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:33:00] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:33:00] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:33:00] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:33:00] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:33:00] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:33:00] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:33:00] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:33:00] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:00] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:33:00] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:33:00] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:33:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:33:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:33:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:33:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:33:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:33:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:33:01] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:33:01] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:33:01] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:33:01] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:33:01] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:33:01] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:33:01] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:33:01] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:01] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:33:01] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:33:01] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:33:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:33:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:33:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:33:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:33:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:33:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:33:28] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:33:28] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:33:28] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:33:28] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:33:28] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:33:28] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:33:28] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:33:28] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:28] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:33:28] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:33:28] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:33:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:33:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:33:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:33:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:33:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:33:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:33:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:33:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:33:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:33:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:33:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:33:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:33:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:33:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:33:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:33:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:33:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:33:29] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:27] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:27] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:27] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:27] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:27] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:27] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:27] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:27] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:27] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:27] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:27] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:27] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:27] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:27] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:27] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:27] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:27] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:28] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:28] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:28] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:28] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:28] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:28] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:28] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:28] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:28] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:28] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:28] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:29] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:38] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:38] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:38] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:38] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:38] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:38] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:38] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:38] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:38] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:38] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:38] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:38] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:38] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:38] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:38] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:38] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:38] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:39] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:39] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:39] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:39] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:39] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:39] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:39] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:39] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:39] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:39] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:39] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:39] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:39] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:39] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:39] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:39] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:39] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:49] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:49] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:49] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:49] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:49] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:49] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:49] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:49] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:49] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:49] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:34:49] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:34:49] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:34:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:34:50] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:34:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:50] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:50] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:50] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:50] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:50] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:34:50] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:34:50] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:34:50] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:34:50] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:34:50] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:50] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:50] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:50] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:34:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:55] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:55] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:55] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:34:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:56] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:56] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:56] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:34:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:34:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:34:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:34:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:34:58] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:58] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:34:58] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:35:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:00] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:00] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:35:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:00] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:00] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:00] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:35:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:01] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:01] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:35:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:01] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:01] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:01] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:29] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:33] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:33] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:33] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:33] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:33] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:33] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:33] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:33] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:33] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:33] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:33] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:33] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:33] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:33] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:33] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:33] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:33] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:37] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:37] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:37] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:37] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:35:37] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:35:37] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":63,"workout_format_type":"emom","workout_format_id":12,"reps":2,"set_number":1,"round_number":null,"training_load":12,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 10:35:37] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 10:35:37] local.INFO: New conditioning record created {"workout_manager_id":63} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:38] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:38] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:38] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:38] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:38] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:38] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:38] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:38] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:38] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:38] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:38] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:38] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:38] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:38] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:38] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:38] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:38] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:38] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:43] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:43] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:43] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:43] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:43] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:43] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:43] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:43] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:43] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:43] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:43] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:43] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:43] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:43] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:43] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:43] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:43] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:43] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:43] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:43] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:43] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:46] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:46] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:46] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:35:46] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:47] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:47] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:47] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:47] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:47] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:47] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:47] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:47] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:47] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:47] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:47] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:47] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:47] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:47] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:47] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:47] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:47] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:35:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:48] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:48] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:48] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:48] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:48] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:48] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:48] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:48] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:48] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:48] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:52] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:52] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:52] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:35:52] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:35:52] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:35:52] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:52] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:52] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:52] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:52] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:35:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:35:52] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:35:52] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:35:52] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:35:52] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:35:52] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:52] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:35:52] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:36:03] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:36:03] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:36:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:36:03] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:36:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:36:03] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:36:03] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:36:03] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:36:03] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:36:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:36:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:36:03] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:36:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:36:03] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:36:03] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:36:03] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:36:03] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:36:03] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:36:38] local.INFO: storeconditioningdaily function called.  
[2026-03-24 10:36:38] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 10:36:38] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":63,"workout_format_type":"emom","workout_format_id":13,"reps":2,"set_number":2,"round_number":null,"training_load":25,"exercise_time":"01:00","date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 10:36:38] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-03-24 10:36:38] local.INFO: New conditioning record created {"workout_manager_id":63} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:10] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:10] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:10] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:11] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:11] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:12] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:12] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:12] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:13] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:13] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:13] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:13] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:13] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:24] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:24] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:24] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:25] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:25] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:25] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:26] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:27] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:27] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:27] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:29] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:39] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:39] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:39] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:40] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:40] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:40] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:37:42] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:42] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:37:42] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:42] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:37:42] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:37:42] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:37:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:37:42] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:42] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:37:42] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[59,60,61,62,63],"types":["strength","conditioning","warmup"]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[59,60,61,62,63],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":4},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:38:32] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:38:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:38:32] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:38:32] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:38:32] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:39:44] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:39:44] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:39:44] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:39:44] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:39:44] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:39:44] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:39:44] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:39:44] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:39:44] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:39:44] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:39:44] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:44] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:39:44] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:39:44] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:39:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:39:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:39:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:39:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:39:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:39:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:39:48] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:39:48] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:39:48] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:39:48] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:39:48] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:39:48] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:39:48] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:39:48] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:48] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:39:48] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:39:48] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:50] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:39:50] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:39:50] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:39:50] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:50] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:39:50] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:39:50] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:39:50] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:50] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:39:50] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:39:50] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:39:50] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:39:50] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:39:50] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:39:50] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:39:50] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:39:50] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:39:50] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:39:50] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:39:50] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:39:50] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:40:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:40:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:40:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:40:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:40:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:40:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:21] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:21] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:21] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:21] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:21] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:21] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:21] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:21] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:21] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:21] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:21] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:34] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:34] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:34] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:34] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:34] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:34] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:34] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:34] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:34] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:34] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:34] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:34] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:34] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:34] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:40] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:40] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:40] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:40] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:40] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:40] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:40] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:40] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:40] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:40] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:40] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:40] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:40] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:40] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:40] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:40] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:40] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:42] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:42] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:42] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:42] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:42] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:42] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:42] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:42] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:42] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:42] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:42] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:42] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:42] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:42] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:42] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:42] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:42] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:42] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:42] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:42] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:42] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:43] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:43] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:43] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:43] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:43] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:43] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:43] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:43] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:43] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:43] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:43] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:43] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:43] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:43] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:43] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:43] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:43] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:43] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:43] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:43] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:43] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:51] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:51] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:51] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:51] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:51] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:51] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:51] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:51] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:51] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:51] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:51] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:51] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:51] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:51] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:51] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:51] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:51] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:51] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:51] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:51] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:51] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:40:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:54] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:54] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:54] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:54] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:54] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:54] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:54] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:54] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:54] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:54] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:54] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:54] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:54] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:54] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:54] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:54] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:54] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:40:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:40:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:40:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:40:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:40:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:40:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:40:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:40:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:40:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:56] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:56] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:56] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:56] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:40:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:40:56] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:40:56] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:40:56] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:40:56] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:40:56] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:56] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:40:56] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:44:45] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:44:45] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:44:45] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:44:45] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:44:45] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:44:45] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:44:45] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:44:45] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:44:45] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:44:45] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:44:45] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:44:45] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:44:45] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:44:45] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:44:45] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:44:45] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:44:45] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:44:45] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:45] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:44:45] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:44:45] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:44:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:44:47] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:44:47] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:44:47] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:44:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:44:47] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:44:47] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:44:47] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:44:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:44:47] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:44:47] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:44:47] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:44:47] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:44:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:44:47] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:44:47] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:44:47] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:44:47] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:47] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:44:47] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:44:47] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:44:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:44:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:44:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:44:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:44:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:44:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:44:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:44:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:44:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:44:58] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:44:58] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:44:58] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:44:58] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:44:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:44:58] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:44:58] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:44:58] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:44:58] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:44:58] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:44:58] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:44:58] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:00] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:00] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:00] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:00] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:00] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:00] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:00] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:00] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:00] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:00] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:00] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:03] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:03] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:03] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:03] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:03] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:03] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:03] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:03] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:03] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:03] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:03] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:03] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:03] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:03] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:03] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:03] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:03] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:10] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:10] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:10] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:10] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:10] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:10] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:10] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:10] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:10] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:10] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:10] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:10] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:10] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:10] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:10] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:10] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:10] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:14] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:14] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:14] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:14] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:14] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:14] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:14] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:14] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:14] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:14] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:14] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:16] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:16] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:16] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:16] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:16] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:16] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:16] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:16] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:16] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:16] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:16] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:16] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:16] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:16] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:16] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:16] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:16] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:19] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:19] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:19] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:19] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:19] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:19] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:19] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:19] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:19] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:19] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:19] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:45:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:45:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:45:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:45:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:45:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:45:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:30] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:30] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:30] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:30] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:30] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:30] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:30] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:30] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:30] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:30] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:30] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:30] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:30] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:30] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:30] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:30] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:30] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:30] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:31] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:31] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:31] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:31] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:31] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:31] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:31] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:31] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:45:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:31] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:31] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:31] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:31] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:31] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:31] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:31] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:31] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:31] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:31] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:31] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:37] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:37] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:37] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:45:45] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:45:45] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:45:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:45:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:45:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:45:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:46] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:46] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:46] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:46] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:46] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:46] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:46] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:46] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:46] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:46] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:46] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:46] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:46] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:46] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:46] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:46] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:46] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:46] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:46] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:46] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:46] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:45:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:45:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:45:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:48] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:48] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:48] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:48] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:45:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:45:48] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:45:48] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:45:48] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:45:48] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:45:48] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:48] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:45:48] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:46:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:46:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:46:11] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:46:11] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:46:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:46:11] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:46:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:46:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:46:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:46:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:46:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:46:11] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:46:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:46:11] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:46:11] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:46:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:46:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:46:11] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:47:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:47:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:47:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:47:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:47:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:47:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:47:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:47:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:47:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:47:57] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:47:57] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:47:57] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:47:57] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:47:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:47:57] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:47:57] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:47:57] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:47:57] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:47:57] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:47:57] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:47:57] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:51:43] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:51:43] local.INFO: Tab value: all  
[2026-03-24 10:51:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:44] local.INFO: Saved type row warmup  
[2026-03-24 10:51:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:44] local.INFO: Saved type row strength  
[2026-03-24 10:51:44] local.INFO: Saved type row strength  
[2026-03-24 10:51:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:51:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:51:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:51:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:51:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:44] local.INFO: Saved type row accessory  
[2026-03-24 10:51:44] local.INFO: Saved type row accessory  
[2026-03-24 10:51:44] local.INFO: Saved type row accessory  
[2026-03-24 10:51:44] local.INFO: Saved type row accessory  
[2026-03-24 10:51:44] local.INFO: Saved type row accessory  
[2026-03-24 10:51:44] local.INFO: Saved type row warmup  
[2026-03-24 10:51:44] local.INFO: Saved type row warmup  
[2026-03-24 10:51:44] local.INFO: Saved type row warmup  
[2026-03-24 10:51:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:44] local.INFO: Saved type row warmup  
[2026-03-24 10:51:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:44] local.INFO: Saved type row strength  
[2026-03-24 10:51:44] local.INFO: Saved type row strength  
[2026-03-24 10:51:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:51:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:51:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:51:44] local.INFO: Saved type row weightlifting  
[2026-03-24 10:51:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:44] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:44] local.INFO: Saved type row accessory  
[2026-03-24 10:51:44] local.INFO: Saved type row accessory  
[2026-03-24 10:51:44] local.INFO: Saved type row accessory  
[2026-03-24 10:51:44] local.INFO: Saved type row accessory  
[2026-03-24 10:51:44] local.INFO: Saved type row accessory  
[2026-03-24 10:51:44] local.INFO: Saved type row warmup  
[2026-03-24 10:51:44] local.INFO: Saved type row warmup  
[2026-03-24 10:51:44] local.INFO: Saved type row warmup  
[2026-03-24 10:51:45] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:45] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:45] local.INFO: Saved type row warmup  
[2026-03-24 10:51:45] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:45] local.INFO: Saved type row strength  
[2026-03-24 10:51:45] local.INFO: Saved type row strength  
[2026-03-24 10:51:45] local.INFO: Saved type row weightlifting  
[2026-03-24 10:51:45] local.INFO: Saved type row weightlifting  
[2026-03-24 10:51:45] local.INFO: Saved type row weightlifting  
[2026-03-24 10:51:45] local.INFO: Saved type row weightlifting  
[2026-03-24 10:51:45] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:45] local.INFO: Saved type row conditioning  
[2026-03-24 10:51:45] local.INFO: Saved type row accessory  
[2026-03-24 10:51:45] local.INFO: Saved type row accessory  
[2026-03-24 10:51:45] local.INFO: Saved type row accessory  
[2026-03-24 10:51:45] local.INFO: Saved type row accessory  
[2026-03-24 10:51:45] local.INFO: Saved type row accessory  
[2026-03-24 10:51:45] local.INFO: Saved type row warmup  
[2026-03-24 10:51:45] local.INFO: Saved type row warmup  
[2026-03-24 10:51:45] local.INFO: Saved type row warmup  
[2026-03-24 10:52:10] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:52:10] local.INFO: Tab value: all  
[2026-03-24 10:52:11] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:11] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:11] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:11] local.INFO: Saved type row warmup  
[2026-03-24 10:52:11] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:11] local.INFO: Saved type row strength  
[2026-03-24 10:52:11] local.INFO: Saved type row strength  
[2026-03-24 10:52:11] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:11] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:11] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:11] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:11] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:11] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:11] local.INFO: Saved type row accessory  
[2026-03-24 10:52:11] local.INFO: Saved type row accessory  
[2026-03-24 10:52:11] local.INFO: Saved type row accessory  
[2026-03-24 10:52:11] local.INFO: Saved type row accessory  
[2026-03-24 10:52:11] local.INFO: Saved type row accessory  
[2026-03-24 10:52:11] local.INFO: Saved type row warmup  
[2026-03-24 10:52:11] local.INFO: Saved type row warmup  
[2026-03-24 10:52:11] local.INFO: Saved type row warmup  
[2026-03-24 10:52:11] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:11] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:11] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:11] local.INFO: Saved type row warmup  
[2026-03-24 10:52:11] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:11] local.INFO: Saved type row strength  
[2026-03-24 10:52:11] local.INFO: Saved type row strength  
[2026-03-24 10:52:11] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:11] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:11] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:11] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:11] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:11] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:11] local.INFO: Saved type row accessory  
[2026-03-24 10:52:11] local.INFO: Saved type row accessory  
[2026-03-24 10:52:11] local.INFO: Saved type row accessory  
[2026-03-24 10:52:11] local.INFO: Saved type row accessory  
[2026-03-24 10:52:11] local.INFO: Saved type row accessory  
[2026-03-24 10:52:11] local.INFO: Saved type row warmup  
[2026-03-24 10:52:11] local.INFO: Saved type row warmup  
[2026-03-24 10:52:11] local.INFO: Saved type row warmup  
[2026-03-24 10:52:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:12] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:12] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:12] local.INFO: Saved type row warmup  
[2026-03-24 10:52:12] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:12] local.INFO: Saved type row strength  
[2026-03-24 10:52:12] local.INFO: Saved type row strength  
[2026-03-24 10:52:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:12] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:12] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:12] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:12] local.INFO: Saved type row accessory  
[2026-03-24 10:52:12] local.INFO: Saved type row accessory  
[2026-03-24 10:52:12] local.INFO: Saved type row accessory  
[2026-03-24 10:52:12] local.INFO: Saved type row accessory  
[2026-03-24 10:52:12] local.INFO: Saved type row accessory  
[2026-03-24 10:52:12] local.INFO: Saved type row warmup  
[2026-03-24 10:52:12] local.INFO: Saved type row warmup  
[2026-03-24 10:52:12] local.INFO: Saved type row warmup  
[2026-03-24 10:52:14] local.INFO: assignWorkoutToClass:  {"workout_id":64,"class_id":479,"type":"workout_manager","action":"assign","date":"24/03/26 Tuesday"} 
[2026-03-24 10:52:15] local.INFO: Day received: {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:52:15] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:15] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:15] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:15] local.INFO: Saved type row warmup  
[2026-03-24 10:52:15] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:15] local.INFO: Saved type row strength  
[2026-03-24 10:52:15] local.INFO: Saved type row strength  
[2026-03-24 10:52:15] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:15] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:15] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:15] local.INFO: Saved type row weightlifting  
[2026-03-24 10:52:15] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:15] local.INFO: Saved type row conditioning  
[2026-03-24 10:52:15] local.INFO: Saved type row accessory  
[2026-03-24 10:52:15] local.INFO: Saved type row accessory  
[2026-03-24 10:52:15] local.INFO: Saved type row accessory  
[2026-03-24 10:52:15] local.INFO: Saved type row accessory  
[2026-03-24 10:52:15] local.INFO: Saved type row accessory  
[2026-03-24 10:52:15] local.INFO: Saved type row warmup  
[2026-03-24 10:52:15] local.INFO: Saved type row warmup  
[2026-03-24 10:52:15] local.INFO: Saved type row warmup  
[2026-03-24 10:55:22] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 10:55:22] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:22] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:22] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:22] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:22] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:22] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:22] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:22] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:55:22] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:22] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:22] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 10:55:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:55:23] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:23] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:23] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 10:55:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 10:55:27] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:27] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:27] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:35] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:35] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:35] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:35] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:35] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:35] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:35] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:35] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:35] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:35] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:35] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:35] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:35] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:35] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:35] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:35] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:35] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:36] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:36] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:36] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:39] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:39] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:39] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:39] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:39] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:39] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:39] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:39] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:39] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:39] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:39] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:39] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:39] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:39] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:39] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:39] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:39] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:39] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:42] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:42] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:42] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:42] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:42] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:42] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:42] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:42] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:42] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:42] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:42] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:42] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:42] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:42] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:42] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:42] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:42] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:42] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:42] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:42] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:42] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:42] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:47] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:47] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:47] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:47] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:47] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:47] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:47] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:47] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:47] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:47] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:47] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:47] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:47] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:47] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:48] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:48] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:48] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:48] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:48] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:48] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:49] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:49] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:49] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:49] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:49] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:49] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:49] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:49] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:49] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:49] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:49] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:49] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:49] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:49] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 10:55:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:55] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:55] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:55] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 10:55:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 10:55:55] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 10:55:55] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 10:55:55] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:55] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 10:55:55] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:06:16] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 11:06:16] local.INFO: storeweightliftingdaily function called.  
[2026-03-24 11:06:16] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 11:06:16] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":64,"workout_format_type":"straight-sets","workout_format_id":129,"reps":3,"weight":0,"date":"24/03/26 Tuesday","set_number":1,"class_Id":479}]} 
[2026-03-24 11:06:16] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-03-24 11:06:16] local.INFO: New weightlifting record created {"workout_manager_id":64,"set_number":1} 
[2026-03-24 11:11:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:11:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:11:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:11:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:11:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:11:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:11:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:11:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:11:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:11:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:11:15] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:11:15] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:11:15] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:11:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:11:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:11:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:11:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:11:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:11:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:11:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:11:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:11:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:11:16] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:11:16] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:11:16] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:11:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:11:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:11:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:11:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:11:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:11:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:11:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:11:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:11:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:11:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:11:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:11:26] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:11:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:11:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:11:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:11:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:11:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:11:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:11:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:11:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:11:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:11:28] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:11:28] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:11:28] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:11:40] local.INFO: storeconditioningdaily function called.  
[2026-03-24 11:11:40] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 11:11:40] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":24,"reps":2,"set_number":1,"round_number":"1/2","training_load":45,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 11:11:40] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":38,"class_id":479,"round_number":"2/2","member_id":2,"conditioning_id":null,"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":24,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T10:27:54.000000Z","updated_at":"2026-03-24T10:29:04.000000Z","exercise_time":"00:00"}} 
[2026-03-24 11:11:40] local.INFO: Conditioning updated {"workout_manager_id":62} 
[2026-03-24 11:11:40] local.INFO: storeconditioningdaily function called.  
[2026-03-24 11:11:40] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 11:11:40] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":25,"reps":3,"set_number":1,"round_number":"1/2","training_load":21,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 11:11:40] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":39,"class_id":479,"round_number":"2/2","member_id":2,"conditioning_id":null,"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":25,"reps":3,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T10:27:54.000000Z","updated_at":"2026-03-24T10:29:05.000000Z","exercise_time":"00:00"}} 
[2026-03-24 11:11:40] local.INFO: Conditioning updated {"workout_manager_id":62} 
[2026-03-24 11:12:55] local.INFO: storeconditioningdaily function called.  
[2026-03-24 11:12:55] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 11:12:55] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":24,"reps":2,"set_number":2,"round_number":"2/2","training_load":45,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 11:12:55] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":38,"class_id":479,"round_number":"1/2","member_id":2,"conditioning_id":null,"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":24,"reps":2,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T10:27:54.000000Z","updated_at":"2026-03-24T11:11:40.000000Z","exercise_time":"00:00"}} 
[2026-03-24 11:12:55] local.INFO: Conditioning updated {"workout_manager_id":62} 
[2026-03-24 11:12:56] local.INFO: storeconditioningdaily function called.  
[2026-03-24 11:12:56] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 11:12:56] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":25,"reps":3,"set_number":2,"round_number":"2/2","training_load":21,"exercise_time":"00:00","date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 11:12:56] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":39,"class_id":479,"round_number":"1/2","member_id":2,"conditioning_id":null,"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":25,"reps":3,"weight":null,"date":"24/03/26 Tuesday","created_at":"2026-03-24T10:27:54.000000Z","updated_at":"2026-03-24T11:11:40.000000Z","exercise_time":"00:00"}} 
[2026-03-24 11:12:56] local.INFO: Conditioning updated {"workout_manager_id":62} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:12:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:12:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:12:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:12:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:12:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:12:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:12:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:12:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:12:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:12:56] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:12:56] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:12:56] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:12:57] local.INFO: storeconditioningdaily function called.  
[2026-03-24 11:12:57] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-03-24 11:12:57] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":24,"reps":2,"set_number":2,"round_number":2,"date":"24/03/26 Tuesday","class_Id":479},{"workout_manager_id":62,"workout_format_type":"rounds","workout_format_id":25,"reps":3,"set_number":2,"round_number":2,"date":"24/03/26 Tuesday","class_Id":479}]} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:12:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:12:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:12:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:12:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:12:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:12:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:12:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:12:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:12:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:12:57] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:12:57] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:12:57] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:13:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:13:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:13:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:13:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:13:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:13:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:13:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:13:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:13:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:13:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:13:11] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:13:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:13:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:13:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:13:12] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:13:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:13:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:13:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:13:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:13:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:13:12] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:13:12] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:13:12] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:13:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:13:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:13:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:13:15] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:13:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:13:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:13:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:13:15] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:13:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:13:15] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:13:15] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:13:15] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:57:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:57:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:57:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:57:58] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:57:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:57:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:57:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:57:58] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:57:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:57:58] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:57:58] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:57:58] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:57:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:57:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:57:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:57:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:57:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:57:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:57:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:57:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:57:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:57:59] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:57:59] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:57:59] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:58:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:58:01] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:01] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:01] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:58:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:02] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:58:02] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:02] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:02] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:58:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:58:04] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:04] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:04] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 11:58:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 11:58:10] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:10] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:10] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:18] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:18] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:18] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:18] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:18] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:18] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:18] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:18] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:18] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:18] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:18] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:18] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:18] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:18] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:18] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:18] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:18] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:20] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:20] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:20] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:20] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:20] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:20] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:20] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:20] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:20] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:20] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:20] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:20] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:20] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:20] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:20] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:20] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:20] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:30] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:30] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:30] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:58:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:58:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:58:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:58:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:58:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 11:58:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:32] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:32] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:32] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:32] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:32] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:32] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:32] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:32] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:32] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:32] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:32] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:32] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:32] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:32] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:32] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:32] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:32] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 11:58:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:39] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:39] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:40] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:40] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:40] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:40] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:40] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:40] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:58:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:40] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:40] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:40] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:40] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:40] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:40] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:40] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:40] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:40] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:40] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:40] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:40] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:40] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:44] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:44] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:44] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:44] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:44] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:44] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:44] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:44] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:44] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:44] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:44] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:44] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:44] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:44] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:44] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:44] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:44] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:44] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:45] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:45] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:45] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:45] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:45] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-24 11:58:45] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-24 11:58:45] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-24 11:58:45] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:45] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:45] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:45] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:45] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:45] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-24 11:58:45] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-24 11:58:45] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-24 11:58:45] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-24 11:58:45] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-24 11:58:45] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 11:58:45] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:45] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 11:58:45] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 12:00:04] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":123,"category_options_id":4,"type":"Test","workout":"Back Squat","link":null,"created_at":"2025-07-12T12:14:06.000000Z","updated_at":"2025-07-12T12:14:06.000000Z"},{"id":134,"category_options_id":4,"type":"Warmup","workout":"Back squat","link":null,"created_at":"2026-01-18T23:48:34.000000Z","updated_at":"2026-01-18T23:48:34.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":121,"category_options_id":5,"type":"Test","workout":"Deadlift","link":null,"created_at":"2025-07-11T03:48:32.000000Z","updated_at":"2025-07-11T03:48:32.000000Z"},{"id":130,"category_options_id":5,"type":"Warmup","workout":"Deadlift","link":null,"created_at":"2026-01-15T00:21:26.000000Z","updated_at":"2026-01-15T00:21:26.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":108,"category_options_id":2,"type":"warmup","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:33.000000Z","updated_at":"2024-11-28T03:23:33.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","7":"Warmup","8":"warmup","15":"Strength","16":"Weightlifting","20":"Conditioning","68":"Select"}}} 
[2026-03-24 12:00:04] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-24 12:00:04] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:00:10] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:00:16] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:00:29] local.INFO: Debug record {"daily_id":22,"format_type":"intervals","format_id":2,"library_id":21,"type":"Warmup","weight":74} 
[2026-03-24 12:00:29] local.INFO: Debug record {"daily_id":25,"format_type":"intervals","format_id":11,"library_id":21,"type":"Warmup","weight":12} 
[2026-03-24 12:00:29] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:00:40] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:00:44] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:00:49] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:00:53] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:00:58] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:01:05] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:01:12] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:01:19] local.INFO: Debug record {"daily_id":22,"format_type":"intervals","format_id":2,"library_id":21,"type":"Warmup","weight":74} 
[2026-03-24 12:01:19] local.INFO: Debug record {"daily_id":25,"format_type":"intervals","format_id":11,"library_id":21,"type":"Warmup","weight":12} 
[2026-03-24 12:01:19] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:05:33] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":123,"category_options_id":4,"type":"Test","workout":"Back Squat","link":null,"created_at":"2025-07-12T12:14:06.000000Z","updated_at":"2025-07-12T12:14:06.000000Z"},{"id":134,"category_options_id":4,"type":"Warmup","workout":"Back squat","link":null,"created_at":"2026-01-18T23:48:34.000000Z","updated_at":"2026-01-18T23:48:34.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":121,"category_options_id":5,"type":"Test","workout":"Deadlift","link":null,"created_at":"2025-07-11T03:48:32.000000Z","updated_at":"2025-07-11T03:48:32.000000Z"},{"id":130,"category_options_id":5,"type":"Warmup","workout":"Deadlift","link":null,"created_at":"2026-01-15T00:21:26.000000Z","updated_at":"2026-01-15T00:21:26.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":108,"category_options_id":2,"type":"warmup","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:33.000000Z","updated_at":"2024-11-28T03:23:33.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","7":"Warmup","8":"warmup","15":"Strength","16":"Weightlifting","20":"Conditioning","68":"Select"}}} 
[2026-03-24 12:05:33] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-24 12:05:33] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:05:43] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:05:47] local.INFO: Debug record {"daily_id":22,"format_type":"intervals","format_id":2,"library_id":21,"type":"Warmup","weight":74} 
[2026-03-24 12:05:47] local.INFO: Debug record {"daily_id":25,"format_type":"intervals","format_id":11,"library_id":21,"type":"Warmup","weight":12} 
[2026-03-24 12:05:47] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 12:08:56] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-24 19:57:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-24 19:57:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-24 19:57:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 19:57:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 19:57:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-24 19:57:02] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-24 19:57:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-24 19:57:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 19:57:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 19:57:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-24 19:57:04] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-24 19:57:05] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-24 19:57:05] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-24 19:57:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-24 19:57:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-24 19:57:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-24 19:57:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-24 19:57:06] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-24 19:57:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 19:57:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 19:57:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 19:57:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 19:57:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 19:57:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 19:57:22] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:22] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 19:57:22] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 19:57:22] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 19:57:22] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:22] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 19:57:22] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:22] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 19:57:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 19:57:22] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 19:57:22] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 19:57:22] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 19:57:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 19:57:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 19:57:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 19:57:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 19:57:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 19:57:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 19:57:23] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 19:57:23] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 19:57:23] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 19:57:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 19:57:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 19:57:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 19:57:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 19:57:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 19:57:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 19:57:25] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 19:57:25] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 19:57:25] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 19:57:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 19:57:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 19:57:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 19:57:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 19:57:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 19:57:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 19:57:27] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 19:57:27] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 19:57:27] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 19:57:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 19:57:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 19:57:30] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 19:57:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 19:57:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:57:30] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 19:57:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 19:57:30] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 19:57:30] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 19:57:30] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-24 19:58:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:58:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 19:58:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 19:58:09] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-24 19:58:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:58:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-24 19:58:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-24 19:58:09] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-24 19:58:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-24 19:58:09] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-24 19:58:09] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-24 19:58:09] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 00:03:20] local.INFO: Day received: {"day":"25/03/26 Wednesday"} 
[2026-03-25 00:03:20] local.INFO: Tab value: all  
[2026-03-25 00:08:03] local.INFO: Day received: {"day":"25/03/26 Wednesday"} 
[2026-03-25 00:08:03] local.INFO: Tab value: all  
[2026-03-25 00:08:40] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 00:08:40] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 00:08:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 00:08:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 00:08:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 00:08:40] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:42] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 00:08:42] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 00:08:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 00:08:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 00:08:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 00:08:42] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 00:08:43] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 00:08:43] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 00:08:44] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:08:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 00:08:44] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:09:41] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Weightlifting","15":"Warmup","18":"Conditioning","64":"Select"}}} 
[2026-03-25 00:09:42] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 00:10:05] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 00:10:57] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 00:11:54] local.INFO: Day received: {"day":"25/03/26 Wednesday"} 
[2026-03-25 00:11:54] local.INFO: Tab value: all  
[2026-03-25 00:12:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 00:12:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 00:12:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 00:12:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 00:12:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 00:12:36] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 00:12:37] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 00:12:37] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:39] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 00:12:39] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 00:12:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 00:12:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 00:12:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 00:12:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 00:12:39] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:46] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:13:46] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:13:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:46] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:13:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:13:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:13:46] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:13:48] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:13:48] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:13:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:13:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:13:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:13:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:13:50] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:13:52] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:13:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:13:52] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:14:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:14:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:14:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:14:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:14:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:14:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:14:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:14:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:14:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:14:14] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:14:14] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:14:14] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:14:14] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:14:14] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:14:14] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:14:14] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:14:14] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:14:14] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:14:14] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:14:14] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:14] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:14] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:14] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:14:16] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:14:16] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:14:16] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:14:16] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:14:16] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:14:16] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:14:16] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:14:16] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:14:16] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:14:16] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:16] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:14:16] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:14:16] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:14:16] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:14:16] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:16] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:16] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:16] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:14:18] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:14:18] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:14:18] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:14:18] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:14:18] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:14:18] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:14:18] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:14:18] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:14:18] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:14:18] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:14:18] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:14:18] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:14:18] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:14:18] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:18] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:18] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:18] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:14:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:14:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:14:19] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:14:19] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:19] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:19] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:14:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:14:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:14:19] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:14:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:14:19] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:14:19] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:19] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:19] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:19] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:14:46] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-25 02:14:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:47] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-25 02:14:47] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:47] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:47] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-25 02:14:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:48] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:48] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-25 02:14:48] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:48] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:48] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-25 02:14:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:49] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:14:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:14:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:14:49] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:14:49] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-25 02:14:49] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:49] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:14:49] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:26] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:26] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:26] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:26] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:26] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:26] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:26] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:26] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:26] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:26] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:26] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:26] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:26] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:26] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:28] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:28] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:28] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:28] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:28] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:28] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:28] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:28] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:28] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:28] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:28] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:28] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:28] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:28] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:29] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:36] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:36] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:37] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:37] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:37] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:37] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:37] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:37] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:37] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:51] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:51] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:51] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:51] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:51] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:51] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:51] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:51] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:51] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:51] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:51] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:51] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:51] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:51] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:51] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:51] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:51] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:51] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:51] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:51] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:51] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:53] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:53] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:53] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:53] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:53] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:53] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:53] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:53] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:53] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:53] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:53] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:53] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:53] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:53] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:53] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:53] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:53] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:55] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:55] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:55] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:55] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:55] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:55] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:55] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:55] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:55] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:55] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:55] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:56] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:56] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:56] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:56] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:15:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:56] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:15:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:15:56] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:15:56] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:15:56] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:56] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:15:56] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:15:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:15:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:15:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:15:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:15:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:15:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:15:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:15:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:15:58] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:15:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:15:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:15:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:15:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:15:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:15:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:15:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:15:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:15:59] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:16:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:16:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:16:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:16:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:16:03] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:16:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:16:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:16:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:16:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:16:04] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:16:05] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:16:05] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:16:07] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:16:07] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:16:07] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:16:07] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:16:08] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:16:08] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:16:16] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Weightlifting","15":"Warmup","18":"Conditioning","64":"Select"}}} 
[2026-03-25 02:16:17] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-25 02:16:17] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 02:16:18] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Weightlifting","15":"Warmup","18":"Conditioning","64":"Select"}}} 
[2026-03-25 02:16:19] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-25 02:16:19] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 02:17:25] local.INFO: Debug record {"daily_id":22,"format_type":"intervals","format_id":2,"library_id":21,"type":"Warmup","weight":74} 
[2026-03-25 02:17:25] local.INFO: Debug record {"daily_id":25,"format_type":"intervals","format_id":11,"library_id":21,"type":"Warmup","weight":12} 
[2026-03-25 02:17:25] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 02:17:27] local.INFO: Debug record {"daily_id":22,"format_type":"intervals","format_id":2,"library_id":21,"type":"Warmup","weight":74} 
[2026-03-25 02:17:27] local.INFO: Debug record {"daily_id":25,"format_type":"intervals","format_id":11,"library_id":21,"type":"Warmup","weight":12} 
[2026-03-25 02:17:27] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 02:17:54] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:18:13] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:18:13] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:18:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:18:13] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:18:13] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:18:13] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:18:13] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:18:13] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:18:13] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:13] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:18:13] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:18:13] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:18:13] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:13] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:18:13] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:18:13] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:18:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:18:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:18:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:18:19] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:18:19] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:18:19] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:18:19] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:18:19] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:18:19] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:18:19] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:19] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:18:19] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:18:19] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:18:19] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:18:19] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:19] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:18:19] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:18:19] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:18:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:18:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:18:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:18:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:18:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:18:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:18:23] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:18:23] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:18:23] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:18:23] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:18:23] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:18:23] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:18:23] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:18:23] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:23] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:18:23] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:18:23] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:18:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:18:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:18:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:18:25] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:18:25] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:18:25] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:18:25] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:18:25] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:18:25] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:18:25] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:18:25] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:18:25] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:19:05] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-25 02:19:05] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:22:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:22:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:22:56] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:22:56] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:22:56] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:22:56] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:22:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:22:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:22:56] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:22:56] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:22:56] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:56] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:22:56] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:22:56] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:22:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:22:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:22:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:22:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:22:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:22:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:22:57] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:22:57] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:22:57] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:22:57] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:22:57] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:22:57] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:22:57] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:22:57] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:57] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:22:57] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:22:57] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:22:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:22:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:22:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:22:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:22:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:22:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:22:59] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:22:59] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:22:59] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:22:59] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:22:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:22:59] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:22:59] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:22:59] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:22:59] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:22:59] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:22:59] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:22:59] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:30:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:30:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:30:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:30:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:30:24] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:30:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:30:24] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:30:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:30:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:30:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:30:24] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:30:24] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:30:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:30:24] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:30:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:30:24] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:30:24] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:30:24] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:30:24] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:30:24] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:37:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:37:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:37:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:37:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:37:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 02:37:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 02:37:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 02:37:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:37:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:37:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:37:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:37:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:37:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 02:37:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 02:37:36] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 02:37:36] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 02:37:36] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 02:37:36] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 02:37:36] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:37:36] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 02:37:36] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 02:40:50] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 02:41:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:41:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:41:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:41:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:41:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:41:15] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:17] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:41:17] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:41:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:41:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:41:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:41:17] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:18] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:41:18] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:41:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:41:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:41:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:41:18] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:41:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:41:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:41:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:41:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:41:20] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:41:23] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:41:23] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:41:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:41:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:41:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:41:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:41:47] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:41:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:41:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:41:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:41:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:41:49] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:41:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:41:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:41:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:41:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:41:50] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:51] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 02:41:51] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 02:41:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 02:41:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 02:41:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 02:41:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 02:41:51] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:14:41] local.INFO: Day received: {"day":"25/03/26 Wednesday"} 
[2026-03-25 03:14:41] local.INFO: Tab value: all  
[2026-03-25 03:16:17] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:16:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 03:16:17] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 03:16:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:16:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 03:16:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 03:16:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:16:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 03:16:17] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:16:21] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":126,"category_options_id":9,"type":"Weightlifting","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:54.000000Z","updated_at":"2025-10-29T03:47:54.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Weightlifting","15":"Warmup","18":"Conditioning","64":"Select"}}} 
[2026-03-25 03:16:22] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-25 03:16:22] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 03:16:27] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 03:16:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:16:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 03:16:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 03:16:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:16:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 03:16:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 03:16:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:16:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 03:16:47] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:17:20] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Warmup","17":"Conditioning","63":"Select","89":"Weightlifting"}}} 
[2026-03-25 03:17:21] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-25 03:17:21] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 03:19:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 03:19:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 03:19:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 03:19:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 03:19:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 03:19:50] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 03:19:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 03:19:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 03:19:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 03:19:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 03:19:53] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 03:19:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 03:19:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 03:19:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 03:19:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 03:19:54] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 03:19:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 03:19:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 03:19:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 03:19:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:19:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 03:19:55] local.WARNING: [getWorkouts] No workout assignments found {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 03:20:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-25 03:20:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"23/03/26 Monday","date_obj":"2026-03-23"} 
[2026-03-25 03:20:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":115,"date_string":"23/03/26 Monday","patterns":["23/03/26 Monday","23/03/26","23/03/2026","23/03/26 Monday","23/03/2026 Monday","Monday 23/03/26","Monday 23/03/2026"]} 
[2026-03-25 03:20:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-25 03:20:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 03:20:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 03:20:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-25 03:20:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 03:20:02] local.WARNING: [getWorkouts] No workout assignments found {"class_id":115,"date_string":"23/03/26 Monday"} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:20:10] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:20:10] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:20:10] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:20:10] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:20:10] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:20:10] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:20:10] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:20:10] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:20:10] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:20:10] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:20:10] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:20:10] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:20:10] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:20:10] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:10] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:20:10] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:20:10] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:20:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:20:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:20:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:20:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:20:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:20:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:20:11] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:20:11] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:20:11] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:20:11] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:20:11] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:20:11] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:20:11] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:20:11] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:11] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:20:11] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:20:11] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:20:27] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:20:27] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:20:27] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:20:27] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:20:27] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:20:27] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:20:27] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:20:27] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:20:27] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:20:27] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:20:27] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:20:27] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:20:27] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:20:27] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:27] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:20:27] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:20:27] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:20:32] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:20:32] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:20:32] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:20:32] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:20:32] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:20:32] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:20:32] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:20:32] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:20:32] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:20:32] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:20:32] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:20:32] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:20:32] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:20:32] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:32] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:20:32] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:20:32] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:20:33] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:20:33] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:20:33] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:20:33] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:20:33] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:20:33] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:20:33] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:20:33] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:20:33] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:20:33] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:20:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:20:33] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:20:33] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:20:33] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:20:33] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:20:33] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:20:33] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:20:33] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 03:22:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:22:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 03:22:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 03:22:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:22:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 03:22:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 03:22:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:22:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 03:22:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:22:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:22:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:22:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:22:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:22:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:22:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:22:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:22:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:22:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:22:24] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:22:24] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:22:24] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:22:24] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:22:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:22:24] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:22:24] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:22:24] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:22:24] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:24] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:22:24] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:22:24] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 03:22:35] local.INFO: Debug record {"daily_id":22,"format_type":"intervals","format_id":2,"library_id":21,"type":"Warmup","weight":74} 
[2026-03-25 03:22:35] local.INFO: Debug record {"daily_id":25,"format_type":"intervals","format_id":11,"library_id":21,"type":"Warmup","weight":12} 
[2026-03-25 03:22:35] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:22:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:22:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:22:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:22:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:22:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 03:22:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 03:22:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 03:22:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:22:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:22:55] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:22:55] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:22:55] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:22:55] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 03:22:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 03:22:55] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 03:22:55] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 03:22:55] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 03:22:55] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 03:22:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 03:22:56] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:22:56] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 03:22:56] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 03:24:54] local.INFO: Day received: {"day":"25/03/26 Wednesday"} 
[2026-03-25 03:24:54] local.INFO: Tab value: all  
[2026-03-25 03:25:20] local.INFO: Day received: {"day":"25/03/26 Wednesday"} 
[2026-03-25 03:25:20] local.INFO: Tab value: all  
[2026-03-25 03:25:20] local.INFO: Saved type row warmup  
[2026-03-25 03:25:20] local.INFO: Saved type row warmup  
[2026-03-25 03:25:21] local.INFO: Saved type row warmup  
[2026-03-25 03:25:23] local.INFO: assignWorkoutToClass:  {"workout_id":65,"class_id":"all","type":"workout_manager","action":"assign_all","date":"25/03/26 Wednesday"} 
[2026-03-25 03:25:23] local.ERROR: Illuminate\Log\LogManager::info(): Argument #2 ($context) must be of type array, string given, called in /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 {"userId":1,"exception":"[object] (TypeError(code: 0): Illuminate\\Log\\LogManager::info(): Argument #2 ($context) must be of type array, string given, called in /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:720)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(355): Illuminate\\Log\\LogManager->info('Workout assigne...', 'workout_manager')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1082): Illuminate\\Support\\Facades\\Facade::__callStatic('info', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#50 {main}
"} 
[2026-03-25 03:25:31] local.INFO: assignWorkoutToClass:  {"workout_id":65,"class_id":274,"type":"workout_manager","action":"assign","date":"25/03/26 Wednesday"} 
[2026-03-25 03:25:31] local.INFO: Day received: {"day":"25/03/26 Wednesday"} 
[2026-03-25 03:25:31] local.INFO: Saved type row warmup  
[2026-03-25 03:26:00] local.INFO: Day received: {"day":"25/03/26 Wednesday"} 
[2026-03-25 03:26:00] local.INFO: Tab value: all  
[2026-03-25 03:26:00] local.INFO: Saved type row warmup  
[2026-03-25 03:26:01] local.INFO: Saved type row warmup  
[2026-03-25 03:26:01] local.INFO: Saved type row warmup  
[2026-03-25 04:50:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:50:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:50:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:50:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:50:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:50:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:50:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:50:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:50:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:50:16] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:50:16] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:50:16] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:50:19] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:50:19] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:50:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:50:19] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:50:19] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:50:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:50:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:50:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:50:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:50:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:50:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:50:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:50:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:50:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:50:20] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:50:20] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:50:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:50:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:50:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:50:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:50:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:50:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:50:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:50:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:50:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:50:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:50:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:50:21] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:50:21] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:50:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:54:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:54:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:54:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:54:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:54:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:54:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:54:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:54:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:54:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:54:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:54:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:54:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:54:59] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:54:59] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:54:59] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:55:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:55:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:55:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:55:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:55:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:55:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:55:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:55:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:55:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:55:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:55:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:55:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:55:00] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:55:00] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:55:00] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:55:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:55:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:55:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:55:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:55:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:55:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:55:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:55:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:55:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:55:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:55:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:55:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:55:01] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:55:01] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:55:01] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:55:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:55:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:55:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:55:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:55:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:55:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:55:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:55:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:55:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:55:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:55:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:55:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:55:02] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:55:02] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:55:02] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:55:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:55:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:55:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:55:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:55:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:55:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:55:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:55:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:55:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:55:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:55:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:55:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:55:03] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:55:03] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:55:03] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:57:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:57:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:57:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:57:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:57:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:57:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:57:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:57:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:57:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:57:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:57:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:57:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:57:28] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:57:28] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:57:28] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:57:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:57:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 04:57:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 04:57:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:57:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 04:57:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 04:57:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 04:57:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 04:57:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 04:57:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 04:57:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 04:57:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 04:57:35] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:57:35] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 04:57:35] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 04:57:47] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Warmup","17":"Conditioning","63":"Select","89":"Weightlifting"}}} 
[2026-03-25 04:57:48] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-25 04:57:48] local.ERROR: Workout progress error {"error":"Attempt to read property \"workout_libraries_id\" on null"} 
[2026-03-25 05:39:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:39:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 05:39:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 05:39:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:39:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 05:39:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 05:39:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:39:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 05:39:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 05:39:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 05:39:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 05:39:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 05:39:27] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:39:27] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:39:27] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 05:41:57] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:41:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 05:41:57] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 05:41:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:41:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 05:41:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 05:41:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:41:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 05:41:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 05:41:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 05:41:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 05:41:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 05:41:57] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:41:57] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:41:57] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 05:46:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 05:46:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 05:46:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 05:46:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 05:46:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 05:46:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 05:46:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 05:46:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 05:46:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 05:46:11] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:11] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:11] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 05:46:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 05:46:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 05:46:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 05:46:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 05:46:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 05:46:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 05:46:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 05:46:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 05:46:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 05:46:12] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:12] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:12] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 05:46:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 05:46:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 05:46:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 05:46:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 05:46:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 05:46:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 05:46:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 05:46:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 05:46:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 05:46:19] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:19] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:19] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 05:46:20] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 05:46:20] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 05:46:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 05:46:20] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 05:46:21] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:21] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 05:46:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 05:46:21] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:21] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 05:46:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 05:46:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 05:46:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 05:46:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 05:46:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 05:46:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 05:46:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 05:46:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 05:46:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 05:46:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 05:46:28] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:28] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 05:46:28] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:56:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 05:56:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 05:56:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 05:56:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:56:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 05:56:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 05:56:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 05:56:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:56:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 05:56:59] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 05:56:59] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 05:56:59] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 05:56:59] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:56:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 05:56:59] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 05:56:59] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 05:56:59] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 05:56:59] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:56:59] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 05:56:59] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 05:56:59] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 05:57:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 05:57:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 05:57:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 05:57:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 05:57:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 05:57:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 05:57:01] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 05:57:01] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 05:57:01] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 05:57:01] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 05:57:01] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 05:57:01] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 05:57:01] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 05:57:01] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:01] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 05:57:01] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 05:57:01] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 05:57:04] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 05:57:04] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 05:57:04] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 05:57:04] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 05:57:04] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 05:57:04] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 05:57:04] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 05:57:04] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 05:57:04] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 05:57:04] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 05:57:04] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 05:57:04] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 05:57:04] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 05:57:04] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:04] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 05:57:04] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 05:57:04] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 05:57:05] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 05:57:05] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 05:57:05] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 05:57:05] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 05:57:05] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 05:57:05] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 05:57:05] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 05:57:05] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 05:57:05] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 05:57:05] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 05:57:05] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 05:57:05] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 05:57:05] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 05:57:05] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:05] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 05:57:05] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 05:57:05] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 05:57:06] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 05:57:06] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 05:57:06] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 05:57:06] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 05:57:06] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 05:57:06] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 05:57:06] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 05:57:06] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 05:57:06] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 05:57:06] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 05:57:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 05:57:06] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 05:57:06] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 05:57:06] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 05:57:06] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 05:57:06] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 05:57:06] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 05:57:06] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 06:14:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 06:14:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 06:14:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 06:14:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 06:14:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 06:14:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 06:14:00] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 06:14:00] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 06:14:00] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 06:14:00] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 06:14:00] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 06:14:00] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 06:14:00] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 06:14:00] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:00] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:00] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:00] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 06:14:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 06:14:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 06:14:01] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 06:14:01] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 06:14:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 06:14:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:01] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 06:14:01] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 06:14:01] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 06:14:01] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:01] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:01] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:01] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 06:14:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 06:14:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 06:14:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 06:14:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 06:14:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 06:14:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 06:14:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 06:14:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 06:14:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 06:14:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 06:14:29] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 06:14:29] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 06:14:29] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 06:14:29] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:29] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:29] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:29] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":273,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58],"types":["warmup","accessory","conditioning","weightlifting","strength"]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[40,41,42,44,45,47,46,51,52,53,54,55,56,58]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":14,"ids":[40,41,42,44,45,46,47,51,52,53,54,55,56,58],"types":["Warmup","Accessory","Conditioning","Weightlifting","Strength"],"formats":["for-time","emom","intervals","straight-sets","amrap","rounds","pyramid","circuit"]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":11,"workout_libraries_id":36,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":40,"relation":"forTimes","format_row_id":12,"workout_libraries_id":25,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":6,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":41,"relation":"emoms","format_row_id":7,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":42,"relation":"intervals","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":3,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":42,"relation":"intervals","format_row_id":4,"workout_libraries_id":73,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":44,"relation":"intervals","format_row_id":9,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":44,"relation":"intervals","format_row_id":10,"workout_libraries_id":27,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":8,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":45,"relation":"emoms","format_row_id":9,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":46,"relation":"straights","format_row_id":34,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45"}]}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":35,"workout_libraries_id":16,"attached_test_id":66,"attached_test_weight":15.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":47,"relation":"straights","format_row_id":36,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30"}]}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":51,"relation":"amraps","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":51,"relation":"amraps","format_row_id":21,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":18,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":52,"relation":"rounds","format_row_id":19,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":53,"relation":"rounds","format_row_id":20,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":53,"relation":"rounds","format_row_id":21,"workout_libraries_id":28,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":22,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":54,"relation":"rounds","format_row_id":23,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":1,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":55,"relation":"pyramids","format_row_id":2,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":4,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":56,"relation":"circuits","format_row_id":5,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":58,"relation":"amraps","format_row_id":22,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":58,"relation":"amraps","format_row_id":23,"workout_libraries_id":41,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":28,"rows_with_lib_id":28,"rows_matched":18,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":6,"matched":5,"not_matched":1,"empty":11},"amraps":{"seen":4,"matched":2,"not_matched":2,"empty":12},"forTimes":{"seen":2,"matched":0,"not_matched":2,"empty":13},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":14},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":12},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":12},"straights":{"seen":3,"matched":3,"not_matched":0,"empty":12},"circuits":{"seen":2,"matched":2,"not_matched":0,"empty":13},"pyramids":{"seen":2,"matched":2,"not_matched":0,"empty":13}}} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":6,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":7,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":3,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":8,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_accessory","workout_format_id_target":9,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":20,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 06:14:31] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 06:14:31] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 06:14:31] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":51,"workout_format_type":"amrap","workout_format_id":21,"class_id":273,"round_entries":["1/2","2/2"]} 
[2026-03-25 06:14:31] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-03-25 06:14:31] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-03-25 06:14:31] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":20,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":21,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":22,"date_string":"24/03/26 Tuesday","dailyReps":"4","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":23,"date_string":"24/03/26 Tuesday","dailyReps":"5","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":1,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":2,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":4,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: Workout completion check: {"table_name":"daily_weightlifting","workout_format_id_target":5,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":22,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 06:14:31] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 06:14:31] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 06:14:31] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 06:14:31] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-03-25 06:14:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":58,"workout_format_type":"amrap","workout_format_id":23,"class_id":273,"round_entries":["1/3","2/3","3/3"]} 
[2026-03-25 06:14:31] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-03-25 06:14:31] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-03-25 06:14:31] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-03-25 06:14:31] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":40,"workout_libraries_id":36,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":40,"workout_libraries_id":25,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:06:19.000000Z","updated_at":"2026-03-24T06:06:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":41,"workout_libraries_id":23,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":41,"workout_libraries_id":41,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T06:09:42.000000Z","updated_at":"2026-03-24T06:09:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":21,"training_load":74,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"stationumber":1,"workout_manager_id":42,"workout_libraries_id":41,"training_load":35,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":2,"workout_manager_id":42,"workout_libraries_id":73,"training_load":75,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T06:40:19.000000Z","updated_at":"2026-03-24T06:40:19.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":9,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":44,"workout_libraries_id":27,"training_load":13,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T07:25:21.000000Z","updated_at":"2026-03-24T07:25:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":45,"workout_libraries_id":16,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":8,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":45,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:28:49.000000Z","updated_at":"2026-03-24T07:28:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":9,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":46,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":2,"created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":121,"workout_libraries_id":17,"straight_id":34,"res":2,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"2","target_reps":2},{"id":122,"workout_libraries_id":17,"straight_id":34,"res":3,"training_load":15,"unittype":"%","created_at":"2026-03-24T07:32:46.000000Z","updated_at":"2026-03-24T07:32:46.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":34,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":47,"workout_libraries_id":16,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","format_table":"straights","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":123,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3},{"id":124,"workout_libraries_id":16,"straight_id":35,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":15.0,"test_unit_type":"kg","test_id":66,"test_created_at":"2026-03-24 07:37:40","format_row_id":35,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":47,"workout_libraries_id":17,"training_load":36,"unit_type":"%","reps":4,"created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":125,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4},{"id":126,"workout_libraries_id":17,"straight_id":36,"res":4,"training_load":36,"unittype":"%","created_at":"2026-03-24T07:33:37.000000Z","updated_at":"2026-03-24T07:33:37.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:30","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":36,"format_relation":"straights","is_completed":1,"daily_reps":"4","target_reps":4}]}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":51,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"amraps","format_table":"amraps","rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":51,"workout_libraries_id":23,"training_load":23,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:45:42.000000Z","updated_at":"2026-03-24T07:45:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":52,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":18,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":52,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:41:54.000000Z","updated_at":"2026-03-24T07:41:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":19,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":53,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":20,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":53,"workout_libraries_id":28,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:51:49.000000Z","updated_at":"2026-03-24T07:51:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":54,"workout_libraries_id":17,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":22,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"4","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":54,"workout_libraries_id":21,"training_load":56,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:52:41.000000Z","updated_at":"2026-03-24T07:52:41.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":23,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"5","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":1,"workout_manager_id":55,"workout_libraries_id":21,"training_load":20,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":1,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":2,"workout_manager_id":55,"workout_libraries_id":21,"training_load":63,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T07:55:00.000000Z","updated_at":"2026-03-24T07:55:00.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":2,"format_relation":"pyramids","format_table":"pyramids","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"stationumber":1,"workout_manager_id":56,"workout_libraries_id":17,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":4,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"stationumber":2,"workout_manager_id":56,"workout_libraries_id":21,"training_load":25,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T07:55:54.000000Z","updated_at":"2026-03-24T07:55:54.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":5,"format_relation":"circuits","format_table":"circuits","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":58,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":22,"format_relation":"amraps","format_table":"amraps","rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":58,"workout_libraries_id":41,"training_load":78,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T08:32:17.000000Z","updated_at":"2026-03-24T08:32:17.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:31] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:31] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:31] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-25 06:14:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:39] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:39] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-25 06:14:39] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:39] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:39] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-25 06:14:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:40] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:14:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:14:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:14:40] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:14:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-25 06:14:40] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:40] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:14:40] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"24/03/26 Tuesday","date_obj":"2026-03-24"} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday","patterns":["24/03/26 Tuesday","24/03/26","24/03/2026","24/03/26 Tuesday","24/03/2026 Tuesday","Tuesday 24/03/26","Tuesday 24/03/2026"]} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,120,17,21],"test_ids":[66,67,68,69]} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,120,17,21],"testMap_sample":{"16":{"test_id":66,"weight":15.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:37:40"},"120":{"test_id":67,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:38:22"},"17":{"test_id":68,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:39:46"},"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"}}} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":479,"date_string":"24/03/26 Tuesday"} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[59,60,61,62,63,64],"types":["strength","conditioning","warmup","weightlifting"]} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[59,60,61,62,63,64]} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[59,60,61,62,63,64],"types":["Strength","Conditioning","Warmup","Weightlifting"],"formats":["straight-sets","emom","intervals","rounds"]} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,120,17,21]} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":59,"relation":"straights","format_row_id":37,"workout_libraries_id":17,"attached_test_id":68,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45"}]}} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":60,"relation":"emoms","format_row_id":10,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":60,"relation":"emoms","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":61,"relation":"intervals","format_row_id":11,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":61,"relation":"intervals","format_row_id":12,"workout_libraries_id":51,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":62,"relation":"rounds","format_row_id":24,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":62,"relation":"rounds","format_row_id":25,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":63,"relation":"emoms","format_row_id":12,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":63,"relation":"emoms","format_row_id":13,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":64,"relation":"straights","format_row_id":38,"workout_libraries_id":23,"available_test_library_ids":[16,120,17,21]} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":5,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":1,"not_matched":1,"empty":5},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":6},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":5},"emoms":{"seen":4,"matched":2,"not_matched":2,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-03-25 06:16:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":10,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:16:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:16:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":11,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:16:50] local.INFO: Workout completion check: {"table_name":"daily_warmups","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-03-25 06:16:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":24,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:16:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":25,"date_string":"24/03/26 Tuesday","dailyReps":"3","targetReps":3,"isCompleted":true} 
[2026-03-25 06:16:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":12,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":2,"isCompleted":true} 
[2026-03-25 06:16:50] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"24/03/26 Tuesday","dailyReps":"2","targetReps":3,"isCompleted":false} 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":59,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":127,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":3},{"id":128,"workout_libraries_id":17,"straight_id":37,"res":3,"training_load":75,"unittype":"%","created_at":"2026-03-24T10:18:57.000000Z","updated_at":"2026-03-24T10:18:57.000000Z","restred":"00:00:45","restyellow":"00:00:45","restgreen":"00:00:45","test_weight":50.0,"test_unit_type":"kg","test_id":68,"test_created_at":"2026-03-24 07:39:46","format_row_id":37,"format_relation":"straights","is_completed":1,"daily_reps":"3","target_reps":3}]}] 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"workout_manager_id":60,"workout_libraries_id":23,"training_load":14,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":60,"workout_libraries_id":21,"training_load":66,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:19:34.000000Z","updated_at":"2026-03-24T10:19:34.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":62,"workout_libraries_id":21,"training_load":45,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":24,"format_relation":"rounds","format_table":"rounds","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":62,"workout_libraries_id":23,"training_load":21,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:24:49.000000Z","updated_at":"2026-03-24T10:24:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"3","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":63,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":12,"format_relation":"emoms","format_table":"emoms","is_completed":1,"has_reps_saved":1,"daily_reps":"2","target_reps":2,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":63,"workout_libraries_id":23,"training_load":25,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-03-24T10:32:40.000000Z","updated_at":"2026-03-24T10:32:40.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":1,"daily_reps":"2","target_reps":3,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":1,"workout_manager_id":61,"workout_libraries_id":21,"training_load":12,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":11,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"stationumber":2,"workout_manager_id":61,"workout_libraries_id":51,"training_load":32,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-03-24T10:20:32.000000Z","updated_at":"2026-03-24T10:20:32.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-03-25 06:16:50] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":64,"workout_libraries_id":23,"training_load":80,"unit_type":"%","reps":3,"created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"sets":[{"id":129,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":1,"daily_reps":"3","target_reps":3},{"id":130,"workout_libraries_id":23,"straight_id":38,"res":3,"training_load":80,"unittype":"%","created_at":"2026-03-24T10:52:07.000000Z","updated_at":"2026-03-24T10:52:07.000000Z","restred":"00:03:30","restyellow":"00:03:30","restgreen":"00:03:30","is_completed":0,"daily_reps":0,"target_reps":3}]}] 
[2026-03-25 06:16:50] local.INFO: Day received (raw): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:16:50] local.INFO: Day received (sanitized): {"day":"24/03/26 Tuesday"} 
[2026-03-25 06:16:50] local.INFO: Tests retrieved {"count":4,"tests":[{"id":66,"workout_manager_id":48,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"24/03/26 Tuesday","weight":15.0,"unit_type":"kg","created_at":"2026-03-24T07:37:40.000000Z","updated_at":"2026-03-24T07:37:40.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":67,"workout_manager_id":49,"category_id":1,"workout_libraries_id":120,"workout_id":120,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:38:22.000000Z","updated_at":"2026-03-24T07:38:22.000000Z","workoutname":"Horizontal pull - Back squat","is_assigned":0,"workout":{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":68,"workout_manager_id":50,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:39:46.000000Z","updated_at":"2026-03-24T07:39:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 06:17:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:17:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:17:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:17:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:17:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:17:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:17:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:17:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:17:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:17:36] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:36] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:36] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:17:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:17:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:17:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:17:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:17:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:17:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:17:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:17:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:17:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:17:38] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:38] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:38] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:17:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:17:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:17:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:17:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:17:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:17:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:17:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:17:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:17:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:17:39] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:39] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:39] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:17:40] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:40] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:40] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:17:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:17:40] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:40] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:40] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:17:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:17:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:17:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:17:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:17:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:17:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:17:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:17:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:17:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:17:41] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:41] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:41] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:17:43] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:17:43] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:17:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:17:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:17:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:17:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:17:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:17:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:17:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:17:43] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:43] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:43] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:17:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:17:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:17:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:17:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:17:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:17:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:17:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:17:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:17:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:17:50] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:50] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:50] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:17:51] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:17:51] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:17:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:17:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:17:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:17:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:17:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:17:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:17:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:17:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:17:51] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:51] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:17:51] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:18:19] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:18:19] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:18:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:18:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:18:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:18:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:18:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:18:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:18:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:18:19] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:18:19] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:18:19] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:18:20] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:18:20] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:18:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:18:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:18:20] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:18:20] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:18:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:18:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:18:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:18:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:18:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:18:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:18:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:18:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:18:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:18:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:18:23] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:18:23] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:18:23] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:18:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:18:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:18:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:18:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:18:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:18:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:18:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:18:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:18:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:18:24] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:18:24] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:18:24] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:18:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:18:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:18:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:18:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:18:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:18:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:18:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:18:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:18:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:18:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:18:25] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:18:25] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:18:25] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:20:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:20:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:20:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:20:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:20:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:20:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:20:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:20:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:20:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:20:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:20:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:20:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:20:21] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:20:21] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:20:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:20:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:20:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:20:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:20:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:20:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:20:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:20:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:20:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:20:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:20:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:20:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:20:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:20:23] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:20:23] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:20:23] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:23:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:23:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:23:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:23:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:23:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:23:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:23:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:23:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:23:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:23:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:23:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:23:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:23:28] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:23:28] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:23:28] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:23:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:23:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:23:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:23:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:23:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:23:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:23:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:23:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:23:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:23:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:23:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:23:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:23:32] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:23:32] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:23:32] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:28:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:28:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:28:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:28:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:28:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:28:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:28:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:28:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:28:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:28:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:28:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:28:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:28:03] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:28:03] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:28:03] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:29:42] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:29:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:29:42] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:29:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:29:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:29:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:29:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:29:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:29:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:29:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:29:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:29:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:29:42] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:29:42] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:29:42] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:29:44] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:29:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:29:44] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:29:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:29:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:29:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:29:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:29:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:29:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:29:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:29:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:29:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:29:44] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:29:44] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:29:44] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:31:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:31:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:31:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:31:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:31:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:31:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:31:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:31:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:31:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:31:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:31:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:31:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:31:15] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:31:15] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:31:15] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:31:48] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:31:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:31:48] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:31:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:31:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:31:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:31:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:31:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:31:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:31:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:31:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:31:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:31:48] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:31:48] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:31:48] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:33:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:33:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:33:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:33:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:33:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:33:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:33:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:33:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:33:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:33:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:33:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:33:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:33:06] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:33:06] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:33:06] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:33:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:33:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:33:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:33:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:33:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:33:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:33:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:33:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:33:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:33:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:33:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:33:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:33:12] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:33:12] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:33:12] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:33:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:33:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:33:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:33:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:33:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:33:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:33:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:33:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:33:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:33:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:33:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:33:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:33:20] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:33:20] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:33:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:33:22] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:33:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:33:22] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:33:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:33:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:33:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:33:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:33:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:33:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:33:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:33:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:33:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:33:22] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:33:22] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:33:22] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:34:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:34:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:34:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:34:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:34:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:34:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:34:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:34:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:34:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:34:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:34:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:34:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:34:08] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:34:08] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:34:08] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:34:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:34:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:34:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:34:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:34:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:34:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:34:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:34:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:34:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:34:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:34:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:34:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:34:10] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:34:10] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:34:10] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:34:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:34:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:34:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:34:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:34:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:34:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:34:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:34:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:34:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:34:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:34:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:34:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:34:11] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:34:11] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:34:11] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:35:17] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:35:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:35:17] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:35:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:35:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:35:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:35:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:35:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:35:17] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:35:17] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:35:17] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:35:17] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:35:17] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:35:17] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:35:17] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:35:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:35:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:35:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:35:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:35:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:35:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:35:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:35:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:35:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:35:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:35:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:35:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:35:27] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:35:27] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:35:27] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:37:39] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:37:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:37:39] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:37:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:37:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:37:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:37:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:37:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:37:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:37:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:37:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:37:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:37:39] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:37:39] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:37:39] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:37:46] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:37:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:37:46] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:37:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:37:46] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:37:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:37:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:37:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:37:46] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:37:46] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:37:46] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:37:46] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:37:46] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:37:46] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:37:46] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:39:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:39:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:39:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:39:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:39:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:39:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:39:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:39:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:39:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:39:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:39:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:39:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:39:36] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:39:36] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:39:36] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:39:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:39:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:39:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:39:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:39:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:39:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:39:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:39:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:39:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:39:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:39:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:39:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:39:54] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:39:54] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:39:54] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:43:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:43:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:43:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:43:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:43:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:43:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:43:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:43:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:43:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:43:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:43:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:43:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:43:40] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:43:40] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:43:40] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:46:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:46:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:46:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:46:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:46:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:46:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:46:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:46:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:46:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:46:06] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:06] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:06] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:46:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:46:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:46:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:46:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:46:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:46:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:46:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:46:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:46:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:46:09] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:09] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:09] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:46:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:46:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:46:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:46:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:46:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:46:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:46:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:46:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:46:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:46:10] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:10] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:10] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:46:17] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:46:17] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:46:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:46:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:46:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:46:17] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:46:17] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:46:17] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:46:17] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:46:17] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:17] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:17] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:46:22] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:46:22] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:46:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:46:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:46:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:46:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:46:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:46:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:46:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:46:22] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:22] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:22] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:46:30] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:46:30] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:46:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:46:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:46:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:46:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:46:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:46:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:46:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:46:30] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:30] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:30] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:46:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:46:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:46:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:46:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:46:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:46:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:46:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:46:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:46:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:46:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:46:34] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:34] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:46:34] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:47:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:47:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:47:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:47:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:47:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:47:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:47:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:47:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:47:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:47:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:47:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:47:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:47:58] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:47:58] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:47:58] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:48:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:48:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:48:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:48:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:48:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:48:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:48:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:48:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:48:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:48:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:48:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:48:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:48:01] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:48:01] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:48:01] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 06:57:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:57:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 06:57:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 06:57:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:57:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 06:57:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 06:57:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 06:57:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 06:57:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 06:57:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 06:57:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 06:57:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 06:57:26] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:57:26] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 06:57:26] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 07:03:14] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Warmup","17":"Conditioning","63":"Select","89":"Weightlifting"}}} 
[2026-03-25 07:03:15] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:15] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-03-25 07:03:15] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-03-25 07:03:15] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-03-25 07:03:15] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-03-25 07:03:15] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 07:03:15] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-03-25 07:03:15] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-03-25 07:03:15] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-03-25 07:03:15] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-03-25 07:03:15] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-03-25 07:03:15] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":22,"format_type":"intervals","format_id":2,"library_id":21,"type":"Warmup","weight":74} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":25,"format_type":"intervals","format_id":11,"library_id":21,"type":"Warmup","weight":12} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":56,"format_type":"straight-sets","format_id":3,"library_id":21,"type":"Strength","weight":"5.25"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":55,"format_type":"straight-sets","format_id":2,"library_id":21,"type":"Strength","weight":"4.5"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":54,"format_type":"straight-sets","format_id":1,"library_id":21,"type":"Strength","weight":"3.75"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":80,"format_type":"amrap","format_id":22,"library_id":21,"type":"Strength","weight":"45"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":82,"format_type":"amrap","format_id":22,"library_id":21,"type":"Strength","weight":"45"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":84,"format_type":"amrap","format_id":22,"library_id":21,"type":"Strength","weight":"45"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":29,"format_type":"amrap","format_id":1,"library_id":21,"type":"Weightlifting","weight":"5.25"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":30,"format_type":"rounds","format_id":20,"library_id":21,"type":"Weightlifting","weight":"12"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":33,"format_type":"rounds","format_id":23,"library_id":21,"type":"Weightlifting","weight":0} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":35,"format_type":"rounds","format_id":23,"library_id":21,"type":"Weightlifting","weight":"56"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":36,"format_type":"pyramid","format_id":1,"library_id":21,"type":"Weightlifting","weight":"1.5"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":37,"format_type":"pyramid","format_id":2,"library_id":21,"type":"Weightlifting","weight":"6.25"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":39,"format_type":"circuit","format_id":5,"library_id":21,"type":"Weightlifting","weight":"25"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":30,"format_type":"amrap","format_id":20,"library_id":21,"type":"Conditioning","weight":0} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":32,"format_type":"amrap","format_id":20,"library_id":21,"type":"Conditioning","weight":0} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":35,"format_type":"rounds","format_id":19,"library_id":21,"type":"Conditioning","weight":0} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":37,"format_type":"emom","format_id":11,"library_id":21,"type":"Conditioning","weight":0} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":38,"format_type":"rounds","format_id":24,"library_id":21,"type":"Conditioning","weight":0} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":40,"format_type":"emom","format_id":12,"library_id":21,"type":"Conditioning","weight":0} 
[2026-03-25 07:03:32] local.INFO: Debug record {"daily_id":3,"format_type":"emom","format_id":9,"library_id":21,"type":"Accessory","weight":0} 
[2026-03-25 09:42:05] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Warmup","17":"Conditioning","63":"Select","89":"Weightlifting"}}} 
[2026-03-25 09:42:07] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-03-25 09:42:07] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-03-25 09:42:07] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-03-25 09:42:07] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-03-25 09:42:07] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-03-25 09:42:07] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 09:42:07] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-03-25 09:42:07] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-03-25 09:42:07] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-03-25 09:42:07] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-03-25 09:42:07] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-03-25 09:42:07] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-03-25 09:42:22] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 09:42:22] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 09:42:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 09:42:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 09:42:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 09:42:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 09:42:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 09:42:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 09:42:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 09:42:22] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:42:22] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:42:22] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 09:42:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 09:42:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 09:42:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 09:42:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 09:42:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 09:42:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 09:42:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 09:42:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 09:42:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 09:42:24] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:42:24] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:42:24] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 09:42:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 09:42:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 09:42:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 09:42:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 09:42:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 09:42:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 09:42:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 09:42:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 09:42:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 09:42:25] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:42:25] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:42:25] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 09:42:26] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:42:26] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:42:26] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 09:42:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 09:42:26] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:42:26] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:42:26] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 09:42:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 09:42:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 09:42:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 09:42:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 09:42:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:42:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 09:42:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 09:42:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 09:42:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 09:42:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 09:42:27] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:42:27] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:42:27] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 09:44:45] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:44:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 09:44:45] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 09:44:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:44:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 09:44:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 09:44:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:44:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 09:44:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 09:44:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 09:44:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 09:44:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 09:44:45] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:44:45] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:44:45] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 09:44:45] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Warmup","17":"Conditioning","63":"Select","89":"Weightlifting"}}} 
[2026-03-25 09:44:45] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:45] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-03-25 09:44:45] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-03-25 09:44:45] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-03-25 09:44:45] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-03-25 09:44:45] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 09:44:45] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-03-25 09:44:45] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-03-25 09:44:45] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-03-25 09:44:45] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-03-25 09:44:45] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-03-25 09:44:45] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-03-25 09:44:52] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Warmup","17":"Conditioning","63":"Select","89":"Weightlifting"}}} 
[2026-03-25 09:44:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:44:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 09:44:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 09:44:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:44:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 09:44:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 09:44:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 09:44:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 09:44:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 09:44:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 09:44:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 09:44:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 09:44:52] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:44:52] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 09:44:52] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 09:44:53] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-03-25 09:44:53] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-03-25 09:44:53] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-03-25 09:44:53] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-03-25 09:44:53] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-03-25 09:44:53] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 09:44:53] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-03-25 09:44:53] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-03-25 09:44:53] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-03-25 09:44:53] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-03-25 09:44:53] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-03-25 09:44:53] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-03-25 10:02:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:02:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:02:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:02:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:02:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:02:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:02:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:02:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:02:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:02:29] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:02:29] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:02:29] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:02:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:02:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:02:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:02:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:02:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:02:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:02:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:02:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:02:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:02:31] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:02:31] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:02:31] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:02:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:02:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:02:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:02:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:02:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:02:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:02:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:02:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:02:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:02:32] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:02:32] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:02:32] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:02:33] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:02:33] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:02:33] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:02:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:02:33] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:02:33] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:02:33] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:02:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:02:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:02:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:02:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:02:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:02:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:02:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:02:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:02:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:02:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:02:34] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:02:34] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:02:34] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:05:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:05:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:05:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:05:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:05:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:05:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:05:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:05:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:05:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:05:40] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:40] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:40] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:05:42] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:05:42] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:05:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:05:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:05:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:05:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:05:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:05:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:05:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:05:42] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:42] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:42] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:05:44] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:44] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:44] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:05:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:05:44] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:44] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:44] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:05:49] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:49] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:49] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:05:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:05:49] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:49] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:49] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:05:50] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:50] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:50] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:05:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:05:50] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:50] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:50] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:05:51] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:05:51] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:05:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:05:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:05:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:05:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:05:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:05:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:05:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:05:51] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:51] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:51] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:05:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:05:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:05:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:05:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:05:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:05:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:05:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:05:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:05:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:05:52] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:52] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:52] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:05:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:05:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:05:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:05:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:05:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:05:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:05:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:05:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:05:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:05:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:05:59] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:59] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:05:59] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:06:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:06:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:06:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:06:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:06:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:06:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:06:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:06:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:06:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:06:01] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:01] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:01] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:06:02] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:02] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:02] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:06:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:06:02] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:02] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:02] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:06:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:06:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:06:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:06:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:06:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:06:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:06:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:06:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:06:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:06:03] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:03] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:03] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:06:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:06:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:06:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:06:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:06:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:06:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:06:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:06:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:06:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:06:04] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:04] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:04] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:06:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:06:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:06:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:06:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:06:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:06:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:06:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:06:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:06:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:06:08] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:08] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:08] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:06:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:06:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:06:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:06:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:06:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:06:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:06:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:06:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:06:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:06:11] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:11] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:11] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[26],"test_ids":[70]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[26],"testMap_sample":{"26":{"test_id":70,"weight":50.0,"unit_type":"kg","date":"25/03/26 Wednesday","test_created_at":"2026-03-25 10:06:11"}}} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[26]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:06:12] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:12] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:12] local.INFO: Tests retrieved {"count":1,"tests":[{"id":70,"workout_manager_id":66,"category_id":1,"workout_libraries_id":26,"workout_id":26,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:06:11.000000Z","updated_at":"2026-03-25T10:06:11.000000Z","workoutname":"Horizontal pull - Pendlay Row","is_assigned":0,"workout":{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[26],"test_ids":[70]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[26],"testMap_sample":{"26":{"test_id":70,"weight":50.0,"unit_type":"kg","date":"25/03/26 Wednesday","test_created_at":"2026-03-25 10:06:11"}}} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[26]} 
[2026-03-25 10:06:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:06:12] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:12] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:12] local.INFO: Tests retrieved {"count":1,"tests":[{"id":70,"workout_manager_id":66,"category_id":1,"workout_libraries_id":26,"workout_id":26,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:06:11.000000Z","updated_at":"2026-03-25T10:06:11.000000Z","workoutname":"Horizontal pull - Pendlay Row","is_assigned":0,"workout":{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 10:06:18] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Warmup","17":"Conditioning","63":"Select","89":"Weightlifting"}}} 
[2026-03-25 10:06:19] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:19] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-03-25 10:06:19] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-03-25 10:06:19] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-03-25 10:06:19] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-03-25 10:06:19] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 10:06:19] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-03-25 10:06:19] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-03-25 10:06:19] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-03-25 10:06:19] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-03-25 10:06:19] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-03-25 10:06:19] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-03-25 10:06:38] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Warmup","17":"Conditioning","63":"Select","89":"Weightlifting"}}} 
[2026-03-25 10:06:39] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-03-25 10:06:39] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-03-25 10:06:39] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-03-25 10:06:39] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-03-25 10:06:39] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-03-25 10:06:39] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 10:06:39] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-03-25 10:06:39] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-03-25 10:06:39] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-03-25 10:06:39] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-03-25 10:06:39] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-03-25 10:06:39] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-03-25 10:06:56] local.INFO: [deleteTest] Test deleted {"user_id":2,"test_id":70} 
[2026-03-25 10:06:57] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:06:57] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:06:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:06:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:06:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:06:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:06:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:06:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:06:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:06:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:06:57] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:57] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:06:57] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 10:07:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:00] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:00] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:00] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:02] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:02] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:02] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:04] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:04] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:04] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-03-25 10:07:05] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-03-25 10:07:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:12] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:12] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:12] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:13] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:13] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:13] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:13] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:14] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:14] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:14] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:14] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:14] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:14] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:14] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:15] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:15] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:15] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:15] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:16] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:16] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:16] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:16] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:16] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:16] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:17] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:17] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:17] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:17] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:17] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:17] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:17] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:17] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:17] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:18] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:18] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:18] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:18] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:18] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 10:07:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 10:07:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-03-25 10:07:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:20] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:20] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-03-25 10:07:42] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-25 10:07:42] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-25 10:07:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[71]} 
[2026-03-25 10:07:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":71,"weight":50.0,"unit_type":"kg","date":"25/03/26 Wednesday","test_created_at":"2026-03-25 10:07:42"}}} 
[2026-03-25 10:07:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-25 10:07:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-25 10:07:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-25 10:07:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-25 10:07:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-03-25 10:07:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-25 10:07:42] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:42] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-25 10:07:42] local.INFO: Tests retrieved {"count":1,"tests":[{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-25 22:35:31] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"26/03/26 Thursday","date_obj":"2026-03-26"} 
[2026-03-25 22:35:31] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday","patterns":["26/03/26 Thursday","26/03/26","26/03/2026","26/03/26 Thursday","26/03/2026 Thursday","Thursday 26/03/26","Thursday 26/03/2026"]} 
[2026-03-25 22:35:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 22:35:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 22:35:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 22:35:32] local.WARNING: [getWorkouts] No workout assignments found {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:35] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"26/03/26 Thursday","date_obj":"2026-03-26"} 
[2026-03-25 22:35:35] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday","patterns":["26/03/26 Thursday","26/03/26","26/03/2026","26/03/26 Thursday","26/03/2026 Thursday","Thursday 26/03/26","Thursday 26/03/2026"]} 
[2026-03-25 22:35:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 22:35:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 22:35:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 22:35:35] local.WARNING: [getWorkouts] No workout assignments found {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"26/03/26 Thursday","date_obj":"2026-03-26"} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday","patterns":["26/03/26 Thursday","26/03/26","26/03/2026","26/03/26 Thursday","26/03/2026 Thursday","Thursday 26/03/26","Thursday 26/03/2026"]} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 22:35:36] local.WARNING: [getWorkouts] No workout assignments found {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"26/03/26 Thursday","date_obj":"2026-03-26"} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday","patterns":["26/03/26 Thursday","26/03/26","26/03/2026","26/03/26 Thursday","26/03/2026 Thursday","Thursday 26/03/26","Thursday 26/03/2026"]} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 22:35:36] local.WARNING: [getWorkouts] No workout assignments found {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"26/03/26 Thursday","date_obj":"2026-03-26"} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday","patterns":["26/03/26 Thursday","26/03/26","26/03/2026","26/03/26 Thursday","26/03/2026 Thursday","Thursday 26/03/26","Thursday 26/03/2026"]} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 22:35:37] local.WARNING: [getWorkouts] No workout assignments found {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"26/03/26 Thursday","date_obj":"2026-03-26"} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday","patterns":["26/03/26 Thursday","26/03/26","26/03/2026","26/03/26 Thursday","26/03/2026 Thursday","Thursday 26/03/26","Thursday 26/03/2026"]} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:35:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 22:35:37] local.WARNING: [getWorkouts] No workout assignments found {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:36:47] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:36:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"26/03/26 Thursday","date_obj":"2026-03-26"} 
[2026-03-25 22:36:47] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday","patterns":["26/03/26 Thursday","26/03/26","26/03/2026","26/03/26 Thursday","26/03/2026 Thursday","Thursday 26/03/26","Thursday 26/03/2026"]} 
[2026-03-25 22:36:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:36:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-25 22:36:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-25 22:36:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:36:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-25 22:36:47] local.WARNING: [getWorkouts] No workout assignments found {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-25 22:36:53] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike (cals)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2024-11-28T03:17:42.000000Z"},{"id":96,"category_options_id":8,"type":"conditioning","workout":"Air bike (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:03.000000Z","updated_at":"2024-11-28T03:18:03.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":120,"category_options_id":1,"type":"Test","workout":"Back squat","link":null,"created_at":"2025-07-09T09:21:14.000000Z","updated_at":"2025-07-09T09:21:14.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":125,"category_options_id":9,"type":"Strength","workout":"Bench","link":null,"created_at":"2025-10-29T03:47:36.000000Z","updated_at":"2025-10-29T03:47:36.000000Z"},{"id":128,"category_options_id":9,"type":"Warmup","workout":"bench press","link":null,"created_at":"2026-01-12T05:26:04.000000Z","updated_at":"2026-01-12T05:26:04.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":132,"category_options_id":8,"type":"Conditioning","workout":"Bike erg","link":null,"created_at":"2026-01-15T00:28:38.000000Z","updated_at":"2026-01-15T00:28:38.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":131,"category_options_id":5,"type":"Conditioning","workout":"KB swing","link":null,"created_at":"2026-01-15T00:28:13.000000Z","updated_at":"2026-01-15T00:28:13.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":111,"category_options_id":3,"type":"warmup","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:30.000000Z","updated_at":"2024-11-28T03:24:30.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":53,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:26.000000Z","updated_at":"2024-11-28T02:27:26.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":106,"category_options_id":1,"type":"warmup","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:52.000000Z","updated_at":"2024-11-28T03:22:52.000000Z"},{"id":140,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:10:24.000000Z","updated_at":"2026-01-23T00:10:24.000000Z"},{"id":142,"category_options_id":1,"type":"Warmup","workout":"Ring row","link":null,"created_at":"2026-01-23T00:13:14.000000Z","updated_at":"2026-01-23T00:13:14.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower (distance)","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2024-11-28T03:18:52.000000Z"},{"id":139,"category_options_id":8,"type":"Warmup","workout":"Rower (distance)","link":null,"created_at":"2026-01-21T00:53:26.000000Z","updated_at":"2026-01-21T00:53:26.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":119,"category_options_id":8,"type":"Warmup","workout":"Test Warmup","link":null,"created_at":"2025-07-04T07:15:43.000000Z","updated_at":"2025-07-04T07:15:43.000000Z"},{"id":135,"category_options_id":8,"type":"Conditioning","workout":"testconditioning","link":null,"created_at":"2026-01-19T03:27:45.000000Z","updated_at":"2026-01-19T03:27:45.000000Z"},{"id":124,"category_options_id":4,"type":"Weightlifting","workout":"testweight","link":null,"created_at":"2025-09-25T11:11:49.000000Z","updated_at":"2025-09-25T11:11:49.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","2":"strength","5":"Test","6":"warmup","13":"Strength","14":"Warmup","17":"Conditioning","63":"Select","89":"Weightlifting"}}} 
[2026-03-25 22:36:54] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-03-25 22:36:54] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-03-25 22:36:54] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-03-25 22:36:54] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-03-25 22:36:54] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-03-25 22:36:54] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-03-25 22:36:54] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-03-25 22:36:54] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-03-25 22:36:54] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-03-25 22:37:01] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:01] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:01] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:01] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:01] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:01] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:01] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:01] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:05] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:05] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:05] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:05] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:05] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:05] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:05] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:05] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:08] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:08] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:08] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:08] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:08] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:08] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:08] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:08] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-03-25 22:37:08] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-03-26 00:41:46] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-26 00:41:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-26 00:41:46] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-26 00:41:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-26 00:41:46] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[71]} 
[2026-03-26 00:41:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":71,"weight":50.0,"unit_type":"kg","date":"25/03/26 Wednesday","test_created_at":"2026-03-25 10:07:42"}}} 
[2026-03-26 00:41:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-26 00:41:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-26 00:41:46] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-26 00:41:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-26 00:41:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-03-26 00:41:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-26 00:41:47] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-26 00:41:47] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-26 00:41:47] local.INFO: Tests retrieved {"count":1,"tests":[{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-26 00:41:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-26 00:41:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-26 00:41:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-26 00:41:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-26 00:41:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[71]} 
[2026-03-26 00:41:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":71,"weight":50.0,"unit_type":"kg","date":"25/03/26 Wednesday","test_created_at":"2026-03-25 10:07:42"}}} 
[2026-03-26 00:41:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-26 00:41:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-26 00:41:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-26 00:41:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-26 00:41:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-03-26 00:41:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-26 00:41:49] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-26 00:41:49] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-26 00:41:49] local.INFO: Tests retrieved {"count":1,"tests":[{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-26 02:23:38] local.INFO: Tab value: all  
[2026-03-26 02:23:38] local.INFO: Day received: {"day":"26/03/26 Thursday"} 
[2026-03-26 02:57:55] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-26 02:57:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"26/03/26 Thursday","date_obj":"2026-03-26"} 
[2026-03-26 02:57:55] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday","patterns":["26/03/26 Thursday","26/03/26","26/03/2026","26/03/26 Thursday","26/03/2026 Thursday","Thursday 26/03/26","Thursday 26/03/2026"]} 
[2026-03-26 02:57:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-26 02:57:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-26 02:57:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-26 02:57:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-26 02:57:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-26 02:57:55] local.WARNING: [getWorkouts] No workout assignments found {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-26 02:57:57] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-26 02:57:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"26/03/26 Thursday","date_obj":"2026-03-26"} 
[2026-03-26 02:57:57] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday","patterns":["26/03/26 Thursday","26/03/26","26/03/2026","26/03/26 Thursday","26/03/2026 Thursday","Thursday 26/03/26","Thursday 26/03/2026"]} 
[2026-03-26 02:57:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-26 02:57:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-03-26 02:57:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-03-26 02:57:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-26 02:57:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-03-26 02:57:57] local.WARNING: [getWorkouts] No workout assignments found {"class_id":275,"date_string":"26/03/26 Thursday"} 
[2026-03-26 03:04:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-26 03:04:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-26 03:04:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-26 03:04:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-26 03:04:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[71]} 
[2026-03-26 03:04:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":71,"weight":50.0,"unit_type":"kg","date":"25/03/26 Wednesday","test_created_at":"2026-03-25 10:07:42"}}} 
[2026-03-26 03:04:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-26 03:04:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-26 03:04:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-26 03:04:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-26 03:04:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-03-26 03:04:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-26 03:04:04] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-26 03:04:04] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-26 03:04:04] local.INFO: Tests retrieved {"count":1,"tests":[{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-26 03:04:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-26 03:04:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"25/03/26 Wednesday","date_obj":"2026-03-25"} 
[2026-03-26 03:04:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday","patterns":["25/03/26 Wednesday","25/03/26","25/03/2026","25/03/26 Wednesday","25/03/2026 Wednesday","Wednesday 25/03/26","Wednesday 25/03/2026"]} 
[2026-03-26 03:04:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-26 03:04:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[71]} 
[2026-03-26 03:04:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":71,"weight":50.0,"unit_type":"kg","date":"25/03/26 Wednesday","test_created_at":"2026-03-25 10:07:42"}}} 
[2026-03-26 03:04:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":274,"date_string":"25/03/26 Wednesday"} 
[2026-03-26 03:04:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[65],"types":["warmup"]} 
[2026-03-26 03:04:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[65]} 
[2026-03-26 03:04:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":0,"ids":[],"types":[],"formats":[]} 
[2026-03-26 03:04:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-03-26 03:04:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":0,"rows_with_lib_id":0,"rows_matched":0,"rows_not_matched":0,"missing_lib_id":0,"per_relation":[]} 
[2026-03-26 03:04:05] local.INFO: Day received (raw): {"day":"25/03/26 Wednesday"} 
[2026-03-26 03:04:05] local.INFO: Day received (sanitized): {"day":"25/03/26 Wednesday"} 
[2026-03-26 03:04:05] local.INFO: Tests retrieved {"count":1,"tests":[{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-03-29 23:01:46] local.INFO: Day received: {"day":"30/03/26 Monday"} 
[2026-03-29 23:01:46] local.INFO: Tab value: all  
[2026-03-29 23:02:30] local.INFO: Day received: {"day":"31/03/26 Tuesday"} 
[2026-03-29 23:02:32] local.INFO: Day received: {"day":"01/04/26 Wednesday"} 
[2026-03-29 23:02:34] local.INFO: Day received: {"day":"02/04/26 Thursday"} 
[2026-03-30 00:27:15] local.INFO: Tab value: all  
[2026-03-30 00:27:15] local.INFO: Day received: {"day":"30/03/26 Monday"} 
[2026-04-01 22:15:39] local.INFO: Day received: {"day":"02/04/26 Thursday"} 
[2026-04-01 22:15:39] local.INFO: Tab value: all  
[2026-04-01 22:18:29] local.INFO: Tab value: all  
[2026-04-01 22:18:29] local.INFO: Day received: {"day":"02/04/26 Thursday"} 
[2026-04-01 22:18:30] local.INFO: Saved type row warmup  
[2026-04-01 22:18:30] local.INFO: Saved type row warmup  
[2026-04-01 22:18:30] local.INFO: Saved type row warmup  
[2026-04-01 22:18:30] local.INFO: Saved type row warmup  
[2026-04-01 22:18:30] local.INFO: Saved type row warmup  
[2026-04-01 22:18:30] local.INFO: Saved type row warmup  
[2026-04-01 22:18:31] local.INFO: Saved type row warmup  
[2026-04-01 22:18:31] local.INFO: Saved type row warmup  
[2026-04-01 22:18:31] local.INFO: Saved type row warmup  
[2026-04-01 22:18:35] local.INFO: Saved type row warmup  
[2026-04-01 22:18:35] local.INFO: Saved type row warmup  
[2026-04-01 22:18:41] local.INFO: Saved type row warmup  
[2026-04-01 22:20:13] local.INFO: Day received: {"day":"02/04/26 Thursday"} 
[2026-04-01 22:20:13] local.INFO: Tab value: all  
[2026-04-01 22:20:13] local.INFO: Saved type row strength  
[2026-04-01 22:20:13] local.INFO: Saved type row warmup  
[2026-04-01 22:20:14] local.INFO: Saved type row strength  
[2026-04-01 22:20:14] local.INFO: Saved type row warmup  
[2026-04-01 22:20:14] local.INFO: Saved type row strength  
[2026-04-01 22:20:14] local.INFO: Saved type row warmup  
[2026-04-01 22:22:06] local.INFO: Day received: {"day":"02/04/26 Thursday"} 
[2026-04-01 22:22:06] local.INFO: Tab value: all  
[2026-04-01 22:22:07] local.INFO: Saved type row conditioning  
[2026-04-01 22:22:07] local.INFO: Saved type row strength  
[2026-04-01 22:22:07] local.INFO: Saved type row warmup  
[2026-04-01 22:22:07] local.INFO: Saved type row conditioning  
[2026-04-01 22:22:07] local.INFO: Saved type row strength  
[2026-04-01 22:22:07] local.INFO: Saved type row warmup  
[2026-04-01 22:22:08] local.INFO: Saved type row conditioning  
[2026-04-01 22:22:08] local.INFO: Saved type row strength  
[2026-04-01 22:22:08] local.INFO: Saved type row warmup  
[2026-04-01 22:22:34] local.INFO: Day received: {"day":"02/04/26 Thursday"} 
[2026-04-01 22:22:34] local.INFO: Tab value: all  
[2026-04-01 22:22:34] local.INFO: Saved type row conditioning  
[2026-04-01 22:22:34] local.INFO: Saved type row strength  
[2026-04-01 22:22:34] local.INFO: Saved type row warmup  
[2026-04-01 22:22:35] local.INFO: Saved type row conditioning  
[2026-04-01 22:22:35] local.INFO: Saved type row strength  
[2026-04-01 22:22:35] local.INFO: Saved type row warmup  
[2026-04-01 22:22:35] local.INFO: Saved type row conditioning  
[2026-04-01 22:22:35] local.INFO: Saved type row strength  
[2026-04-01 22:22:35] local.INFO: Saved type row warmup  
[2026-04-01 22:23:29] local.INFO: Tab value: all  
[2026-04-01 22:23:30] local.INFO: Day received: {"day":"02/04/26 Thursday"} 
[2026-04-01 22:23:30] local.INFO: Saved type row conditioning  
[2026-04-01 22:23:30] local.INFO: Saved type row strength  
[2026-04-01 22:23:30] local.INFO: Saved type row warmup  
[2026-04-01 22:23:30] local.INFO: Saved type row conditioning  
[2026-04-01 22:23:30] local.INFO: Saved type row strength  
[2026-04-01 22:23:30] local.INFO: Saved type row warmup  
[2026-04-01 22:23:31] local.INFO: Saved type row conditioning  
[2026-04-01 22:23:31] local.INFO: Saved type row strength  
[2026-04-01 22:23:31] local.INFO: Saved type row warmup  
[2026-04-01 22:24:07] local.INFO: Day received: {"day":"02/04/26 Thursday"} 
[2026-04-01 22:24:07] local.INFO: Tab value: all  
[2026-04-01 22:24:08] local.INFO: Saved type row conditioning  
[2026-04-01 22:24:08] local.INFO: Saved type row strength  
[2026-04-01 22:24:08] local.INFO: Saved type row warmup  
[2026-04-01 22:24:08] local.INFO: Saved type row conditioning  
[2026-04-01 22:24:08] local.INFO: Saved type row strength  
[2026-04-01 22:24:08] local.INFO: Saved type row warmup  
[2026-04-01 22:24:08] local.INFO: Saved type row conditioning  
[2026-04-01 22:24:08] local.INFO: Saved type row strength  
[2026-04-01 22:24:08] local.INFO: Saved type row warmup  
[2026-04-02 01:59:44] local.INFO: Tab value: all  
[2026-04-02 01:59:44] local.INFO: Day received: {"day":"02/04/26 Thursday"} 
[2026-04-02 01:59:45] local.INFO: Saved type row conditioning  
[2026-04-02 01:59:45] local.INFO: Saved type row strength  
[2026-04-02 01:59:45] local.INFO: Saved type row warmup  
[2026-04-02 01:59:45] local.INFO: Saved type row conditioning  
[2026-04-02 01:59:45] local.INFO: Saved type row strength  
[2026-04-02 01:59:45] local.INFO: Saved type row warmup  
[2026-04-02 01:59:46] local.INFO: Saved type row conditioning  
[2026-04-02 01:59:46] local.INFO: Saved type row strength  
[2026-04-02 01:59:46] local.INFO: Saved type row warmup  
[2026-04-02 01:59:50] local.INFO: assignWorkoutToClass:  {"workout_id":68,"class_id":"all","type":"workout_manager","action":"assign_all","date":"02/04/26 Thursday"} 
[2026-04-02 01:59:50] local.ERROR: Illuminate\Log\LogManager::info(): Argument #2 ($context) must be of type array, string given, called in /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 {"userId":1,"exception":"[object] (TypeError(code: 0): Illuminate\\Log\\LogManager::info(): Argument #2 ($context) must be of type array, string given, called in /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:720)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(355): Illuminate\\Log\\LogManager->info('Workout assigne...', 'workout_manager')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1082): Illuminate\\Support\\Facades\\Facade::__callStatic('info', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#50 {main}
"} 
[2026-04-02 01:59:53] local.INFO: assignWorkoutToClass:  {"workout_id":71,"class_id":"all","type":"workout_manager","action":"assign_all","date":"02/04/26 Thursday"} 
[2026-04-02 01:59:53] local.ERROR: Illuminate\Log\LogManager::info(): Argument #2 ($context) must be of type array, string given, called in /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 {"userId":1,"exception":"[object] (TypeError(code: 0): Illuminate\\Log\\LogManager::info(): Argument #2 ($context) must be of type array, string given, called in /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:720)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(355): Illuminate\\Log\\LogManager->info('Workout assigne...', 'workout_manager')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1082): Illuminate\\Support\\Facades\\Facade::__callStatic('info', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#50 {main}
"} 
[2026-04-02 02:00:01] local.INFO: assignWorkoutToClass:  {"workout_id":72,"class_id":"all","type":"workout_manager","action":"assign_all","date":"02/04/26 Thursday"} 
[2026-04-02 02:00:01] local.ERROR: Illuminate\Log\LogManager::info(): Argument #2 ($context) must be of type array, string given, called in /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 {"userId":1,"exception":"[object] (TypeError(code: 0): Illuminate\\Log\\LogManager::info(): Argument #2 ($context) must be of type array, string given, called in /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:720)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(355): Illuminate\\Log\\LogManager->info('Workout assigne...', 'workout_manager')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1082): Illuminate\\Support\\Facades\\Facade::__callStatic('info', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#50 {main}
"} 
[2026-04-02 02:00:15] local.INFO: assignWorkoutToClass:  {"workout_id":72,"class_id":280,"type":"workout_manager","action":"assign","date":"02/04/26 Thursday"} 
[2026-04-02 02:00:15] local.INFO: Saved type row conditioning  
[2026-04-02 02:00:15] local.INFO: Saved type row strength  
[2026-04-02 02:00:15] local.INFO: Saved type row warmup  
[2026-04-02 02:00:16] local.INFO: Day received: {"day":"02/04/26 Thursday"} 
[2026-04-02 02:00:26] local.INFO: assignWorkoutToClass:  {"workout_id":72,"class_id":280,"type":"workout_manager","action":"unassign","date":"02/04/26 Thursday"} 
[2026-04-02 02:00:26] local.INFO: Saved type row conditioning  
[2026-04-02 02:00:26] local.INFO: Saved type row strength  
[2026-04-02 02:00:26] local.INFO: Saved type row warmup  
[2026-04-02 02:00:26] local.INFO: Day received: {"day":"02/04/26 Thursday"} 
[2026-04-02 02:26:48] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:26:49] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:26:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:26:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:26:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-02 02:26:49] local.WARNING: [getWorkouts] No workout assignments found {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:51] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:26:51] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:26:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:26:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:26:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-02 02:26:51] local.WARNING: [getWorkouts] No workout assignments found {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:53] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:26:53] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:26:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:26:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:26:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-02 02:26:53] local.WARNING: [getWorkouts] No workout assignments found {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-02 02:26:54] local.WARNING: [getWorkouts] No workout assignments found {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-02 02:26:54] local.WARNING: [getWorkouts] No workout assignments found {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:55] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:26:55] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:26:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:26:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:26:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-02 02:26:55] local.WARNING: [getWorkouts] No workout assignments found {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:56] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:26:56] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:26:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:26:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:26:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-02 02:26:56] local.WARNING: [getWorkouts] No workout assignments found {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-02 02:26:57] local.WARNING: [getWorkouts] No workout assignments found {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-02 02:26:57] local.WARNING: [getWorkouts] No workout assignments found {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:26:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:26:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:26:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-02 02:26:58] local.WARNING: [getWorkouts] No workout assignments found {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:58] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:26:58] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:26:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:26:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:26:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:26:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-02 02:26:58] local.WARNING: [getWorkouts] No workout assignments found {"class_id":280,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:27:09] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":119,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:27:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:27:09] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":119,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:27:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":119,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:27:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:27:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:27:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":119,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:27:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[68,71,72],"types":["warmup","strength","conditioning"]} 
[2026-04-02 02:27:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[68,71,72]} 
[2026-04-02 02:27:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[68,71,72],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":68,"relation":"straights","format_row_id":40,"workout_libraries_id":72,"available_test_library_ids":[]} 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":68,"relation":"straights","format_row_id":42,"workout_libraries_id":146,"available_test_library_ids":[]} 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":71,"relation":"straights","format_row_id":46,"workout_libraries_id":71,"available_test_library_ids":[]} 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":72,"relation":"rounds","format_row_id":31,"workout_libraries_id":145,"available_test_library_ids":[]} 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":72,"relation":"rounds","format_row_id":32,"workout_libraries_id":35,"available_test_library_ids":[]} 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":72,"relation":"rounds","format_row_id":33,"workout_libraries_id":151,"available_test_library_ids":[]} 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":72,"relation":"rounds","format_row_id":34,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":0,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":3,"matched":0,"not_matched":3,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":68,"workout_libraries_id":72,"training_load":40,"unit_type":"%","reps":6,"created_at":"2026-04-01T22:18:22.000000Z","updated_at":"2026-04-01T22:18:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":135,"workout_libraries_id":72,"straight_id":40,"res":6,"training_load":40,"unittype":"%","created_at":"2026-04-01T22:18:22.000000Z","updated_at":"2026-04-01T22:18:22.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":137,"workout_libraries_id":72,"straight_id":40,"res":6,"training_load":50,"unittype":"%","created_at":"2026-04-01T22:18:23.000000Z","updated_at":"2026-04-01T22:18:23.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":139,"workout_libraries_id":72,"straight_id":40,"res":6,"training_load":55,"unittype":"%","created_at":"2026-04-01T22:18:23.000000Z","updated_at":"2026-04-01T22:18:23.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6}]}] 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":68,"workout_libraries_id":146,"training_load":null,"unit_type":"N/A","reps":6,"created_at":"2026-04-01T22:18:23.000000Z","updated_at":"2026-04-01T22:18:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}},"sets":[{"id":141,"workout_libraries_id":146,"straight_id":42,"res":6,"training_load":80,"unittype":"N/A","created_at":"2026-04-01T22:18:23.000000Z","updated_at":"2026-04-01T22:18:23.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":142,"workout_libraries_id":146,"straight_id":42,"res":6,"training_load":80,"unittype":"N/A","created_at":"2026-04-01T22:18:23.000000Z","updated_at":"2026-04-01T22:18:23.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":143,"workout_libraries_id":146,"straight_id":42,"res":6,"training_load":80,"unittype":"N/A","created_at":"2026-04-01T22:18:23.000000Z","updated_at":"2026-04-01T22:18:23.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6}]}] 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":71,"workout_libraries_id":71,"training_load":70,"unit_type":"%","reps":5,"created_at":"2026-04-01T22:20:10.000000Z","updated_at":"2026-04-01T22:20:10.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":153,"workout_libraries_id":71,"straight_id":46,"res":5,"training_load":70,"unittype":"%","created_at":"2026-04-01T22:20:10.000000Z","updated_at":"2026-04-01T22:20:10.000000Z","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":154,"workout_libraries_id":71,"straight_id":46,"res":5,"training_load":71,"unittype":"%","created_at":"2026-04-01T22:20:10.000000Z","updated_at":"2026-04-01T22:20:10.000000Z","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":155,"workout_libraries_id":71,"straight_id":46,"res":5,"training_load":72,"unittype":"%","created_at":"2026-04-01T22:20:10.000000Z","updated_at":"2026-04-01T22:20:10.000000Z","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":156,"workout_libraries_id":71,"straight_id":46,"res":5,"training_load":73,"unittype":"%","created_at":"2026-04-01T22:20:10.000000Z","updated_at":"2026-04-01T22:20:10.000000Z","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":72,"workout_libraries_id":145,"training_load":20,"unit_type":"Kg","gender":null,"reps":12,"created_at":"2026-04-01T22:24:04.000000Z","updated_at":"2026-04-01T22:24:04.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":12,"workout_library":{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":32,"workout_manager_id":72,"workout_libraries_id":35,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-01T22:24:04.000000Z","updated_at":"2026-04-01T22:24:04.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":33,"workout_manager_id":72,"workout_libraries_id":151,"training_load":60,"unit_type":"Kg","gender":null,"reps":8,"created_at":"2026-04-01T22:24:04.000000Z","updated_at":"2026-04-01T22:24:04.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-02 02:27:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":72,"workout_libraries_id":21,"training_load":20,"unit_type":"Cal","gender":null,"reps":0,"created_at":"2026-04-01T22:24:04.000000Z","updated_at":"2026-04-01T22:24:04.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-02 02:27:10] local.INFO: Day received (raw): {"day":"02/04/26 Thursday"} 
[2026-04-02 02:27:10] local.INFO: Day received (sanitized): {"day":"02/04/26 Thursday"} 
[2026-04-02 02:27:10] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":119,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/04/26 Thursday","date_obj":"2026-04-02"} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":119,"date_string":"02/04/26 Thursday","patterns":["02/04/26 Thursday","02/04/26","02/04/2026","02/04/26 Thursday","02/04/2026 Thursday","Thursday 02/04/26","Thursday 02/04/2026"]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":119,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":119,"date_string":"02/04/26 Thursday"} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[68,71,72],"types":["warmup","strength","conditioning"]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[68,71,72]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[68,71,72],"types":["Warmup","Strength","Conditioning"],"formats":["straight-sets","rounds"]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":68,"relation":"straights","format_row_id":40,"workout_libraries_id":72,"available_test_library_ids":[]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":68,"relation":"straights","format_row_id":42,"workout_libraries_id":146,"available_test_library_ids":[]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":71,"relation":"straights","format_row_id":46,"workout_libraries_id":71,"available_test_library_ids":[]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":72,"relation":"rounds","format_row_id":31,"workout_libraries_id":145,"available_test_library_ids":[]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":72,"relation":"rounds","format_row_id":32,"workout_libraries_id":35,"available_test_library_ids":[]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":72,"relation":"rounds","format_row_id":33,"workout_libraries_id":151,"available_test_library_ids":[]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":72,"relation":"rounds","format_row_id":34,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":0,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":3,"matched":0,"not_matched":3,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":68,"workout_libraries_id":72,"training_load":40,"unit_type":"%","reps":6,"created_at":"2026-04-01T22:18:22.000000Z","updated_at":"2026-04-01T22:18:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":135,"workout_libraries_id":72,"straight_id":40,"res":6,"training_load":40,"unittype":"%","created_at":"2026-04-01T22:18:22.000000Z","updated_at":"2026-04-01T22:18:22.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":137,"workout_libraries_id":72,"straight_id":40,"res":6,"training_load":50,"unittype":"%","created_at":"2026-04-01T22:18:23.000000Z","updated_at":"2026-04-01T22:18:23.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":139,"workout_libraries_id":72,"straight_id":40,"res":6,"training_load":55,"unittype":"%","created_at":"2026-04-01T22:18:23.000000Z","updated_at":"2026-04-01T22:18:23.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6}]}] 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":68,"workout_libraries_id":146,"training_load":null,"unit_type":"N/A","reps":6,"created_at":"2026-04-01T22:18:23.000000Z","updated_at":"2026-04-01T22:18:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}},"sets":[{"id":141,"workout_libraries_id":146,"straight_id":42,"res":6,"training_load":80,"unittype":"N/A","created_at":"2026-04-01T22:18:23.000000Z","updated_at":"2026-04-01T22:18:23.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":142,"workout_libraries_id":146,"straight_id":42,"res":6,"training_load":80,"unittype":"N/A","created_at":"2026-04-01T22:18:23.000000Z","updated_at":"2026-04-01T22:18:23.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":143,"workout_libraries_id":146,"straight_id":42,"res":6,"training_load":80,"unittype":"N/A","created_at":"2026-04-01T22:18:23.000000Z","updated_at":"2026-04-01T22:18:23.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6}]}] 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":71,"workout_libraries_id":71,"training_load":70,"unit_type":"%","reps":5,"created_at":"2026-04-01T22:20:10.000000Z","updated_at":"2026-04-01T22:20:10.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":153,"workout_libraries_id":71,"straight_id":46,"res":5,"training_load":70,"unittype":"%","created_at":"2026-04-01T22:20:10.000000Z","updated_at":"2026-04-01T22:20:10.000000Z","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":154,"workout_libraries_id":71,"straight_id":46,"res":5,"training_load":71,"unittype":"%","created_at":"2026-04-01T22:20:10.000000Z","updated_at":"2026-04-01T22:20:10.000000Z","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":155,"workout_libraries_id":71,"straight_id":46,"res":5,"training_load":72,"unittype":"%","created_at":"2026-04-01T22:20:10.000000Z","updated_at":"2026-04-01T22:20:10.000000Z","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":156,"workout_libraries_id":71,"straight_id":46,"res":5,"training_load":73,"unittype":"%","created_at":"2026-04-01T22:20:10.000000Z","updated_at":"2026-04-01T22:20:10.000000Z","restred":"00:04:00","restyellow":"00:03:00","restgreen":"00:02:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":72,"workout_libraries_id":145,"training_load":20,"unit_type":"Kg","gender":null,"reps":12,"created_at":"2026-04-01T22:24:04.000000Z","updated_at":"2026-04-01T22:24:04.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":12,"workout_library":{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":32,"workout_manager_id":72,"workout_libraries_id":35,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-01T22:24:04.000000Z","updated_at":"2026-04-01T22:24:04.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":33,"workout_manager_id":72,"workout_libraries_id":151,"training_load":60,"unit_type":"Kg","gender":null,"reps":8,"created_at":"2026-04-01T22:24:04.000000Z","updated_at":"2026-04-01T22:24:04.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-02 02:27:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":72,"workout_libraries_id":21,"training_load":20,"unit_type":"Cal","gender":null,"reps":0,"created_at":"2026-04-01T22:24:04.000000Z","updated_at":"2026-04-01T22:24:04.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-02 02:27:30] local.INFO: Day received (raw): {"day":"02/04/26 Thursday"} 
[2026-04-02 02:27:30] local.INFO: Day received (sanitized): {"day":"02/04/26 Thursday"} 
[2026-04-02 02:27:30] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-02 02:27:54] local.INFO: storeconditioningdaily function called.  
[2026-04-02 02:27:54] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-02 02:27:54] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":72,"workout_format_type":"rounds","workout_format_id":31,"reps":12,"set_number":1,"round_number":"1/5","training_load":20,"exercise_time":"00:00","date":"02/04/26 Thursday","class_Id":119}]} 
[2026-04-02 02:27:54] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-02 02:27:54] local.INFO: New conditioning record created {"workout_manager_id":72} 
[2026-04-02 02:27:55] local.INFO: storeconditioningdaily function called.  
[2026-04-02 02:27:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-02 02:27:55] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":72,"workout_format_type":"rounds","workout_format_id":32,"reps":10,"set_number":1,"round_number":"1/5","training_load":null,"exercise_time":"00:00","date":"02/04/26 Thursday","class_Id":119}]} 
[2026-04-02 02:27:55] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-02 02:27:55] local.INFO: New conditioning record created {"workout_manager_id":72} 
[2026-04-02 02:27:55] local.INFO: storeconditioningdaily function called.  
[2026-04-02 02:27:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-02 02:27:55] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":72,"workout_format_type":"rounds","workout_format_id":33,"reps":7,"set_number":1,"round_number":"1/5","training_load":60,"exercise_time":"00:00","date":"02/04/26 Thursday","class_Id":119}]} 
[2026-04-02 02:27:55] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-02 02:27:55] local.INFO: New conditioning record created {"workout_manager_id":72} 
[2026-04-02 02:27:56] local.INFO: storeconditioningdaily function called.  
[2026-04-02 02:27:56] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-02 02:27:56] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":72,"workout_format_type":"rounds","workout_format_id":34,"reps":0,"set_number":1,"round_number":"1/5","training_load":20,"exercise_time":"00:00","date":"02/04/26 Thursday","class_Id":119}]} 
[2026-04-02 02:27:56] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-02 02:27:56] local.INFO: New conditioning record created {"workout_manager_id":72} 
[2026-04-02 02:29:40] local.INFO: storeconditioningdaily function called.  
[2026-04-02 02:29:40] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-02 02:29:40] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":72,"workout_format_type":"rounds","workout_format_id":31,"reps":12,"set_number":2,"round_number":"2/5","training_load":20,"exercise_time":"00:00","date":"02/04/26 Thursday","class_Id":119}]} 
[2026-04-02 02:29:40] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":42,"class_id":119,"round_number":"1/5","member_id":9,"conditioning_id":null,"workout_manager_id":72,"workout_format_type":"rounds","workout_format_id":31,"reps":12,"weight":null,"date":"02/04/26 Thursday","created_at":"2026-04-02T02:27:54.000000Z","updated_at":"2026-04-02T02:27:54.000000Z","exercise_time":"00:00"}} 
[2026-04-02 02:29:40] local.INFO: Conditioning updated {"workout_manager_id":72} 
[2026-04-02 02:29:40] local.INFO: storeconditioningdaily function called.  
[2026-04-02 02:29:40] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-02 02:29:40] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":72,"workout_format_type":"rounds","workout_format_id":32,"reps":10,"set_number":2,"round_number":"2/5","training_load":null,"exercise_time":"00:00","date":"02/04/26 Thursday","class_Id":119}]} 
[2026-04-02 02:29:40] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":43,"class_id":119,"round_number":"1/5","member_id":9,"conditioning_id":null,"workout_manager_id":72,"workout_format_type":"rounds","workout_format_id":32,"reps":10,"weight":null,"date":"02/04/26 Thursday","created_at":"2026-04-02T02:27:55.000000Z","updated_at":"2026-04-02T02:27:55.000000Z","exercise_time":"00:00"}} 
[2026-04-02 02:29:40] local.INFO: Conditioning updated {"workout_manager_id":72} 
[2026-04-02 02:29:41] local.INFO: storeconditioningdaily function called.  
[2026-04-02 02:29:41] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-02 02:29:41] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":72,"workout_format_type":"rounds","workout_format_id":33,"reps":7,"set_number":2,"round_number":"2/5","training_load":60,"exercise_time":"00:00","date":"02/04/26 Thursday","class_Id":119}]} 
[2026-04-02 02:29:41] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":44,"class_id":119,"round_number":"1/5","member_id":9,"conditioning_id":null,"workout_manager_id":72,"workout_format_type":"rounds","workout_format_id":33,"reps":7,"weight":null,"date":"02/04/26 Thursday","created_at":"2026-04-02T02:27:55.000000Z","updated_at":"2026-04-02T02:27:55.000000Z","exercise_time":"00:00"}} 
[2026-04-02 02:29:41] local.INFO: Conditioning updated {"workout_manager_id":72} 
[2026-04-02 02:29:41] local.INFO: storeconditioningdaily function called.  
[2026-04-02 02:29:41] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-02 02:29:41] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":72,"workout_format_type":"rounds","workout_format_id":34,"reps":0,"set_number":2,"round_number":"2/5","training_load":20,"exercise_time":"00:00","date":"02/04/26 Thursday","class_Id":119}]} 
[2026-04-02 02:29:41] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":45,"class_id":119,"round_number":"1/5","member_id":9,"conditioning_id":null,"workout_manager_id":72,"workout_format_type":"rounds","workout_format_id":34,"reps":0,"weight":null,"date":"02/04/26 Thursday","created_at":"2026-04-02T02:27:56.000000Z","updated_at":"2026-04-02T02:27:56.000000Z","exercise_time":"00:00"}} 
[2026-04-02 02:29:41] local.INFO: Conditioning updated {"workout_manager_id":72} 
[2026-04-08 02:18:32] local.INFO: Tab value: all  
[2026-04-08 02:18:32] local.INFO: Day received: {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:20:00] local.INFO: Tab value: all  
[2026-04-08 02:20:00] local.INFO: Day received: {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:20:01] local.INFO: Saved type row warmup  
[2026-04-08 02:20:01] local.INFO: Saved type row warmup  
[2026-04-08 02:20:01] local.INFO: Saved type row warmup  
[2026-04-08 02:20:04] local.INFO: assignWorkoutToClass:  {"workout_id":73,"class_id":284,"type":"workout_manager","action":"assign","date":"08/04/26 Wednesday"} 
[2026-04-08 02:20:05] local.INFO: Saved type row warmup  
[2026-04-08 02:20:05] local.INFO: Day received: {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:21:55] local.INFO: Day received: {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:21:55] local.INFO: Tab value: all  
[2026-04-08 02:21:56] local.INFO: Saved type row strength  
[2026-04-08 02:21:56] local.INFO: Saved type row warmup  
[2026-04-08 02:21:56] local.INFO: Saved type row strength  
[2026-04-08 02:21:56] local.INFO: Saved type row warmup  
[2026-04-08 02:21:56] local.INFO: Saved type row strength  
[2026-04-08 02:21:56] local.INFO: Saved type row warmup  
[2026-04-08 02:22:03] local.INFO: assignWorkoutToClass:  {"workout_id":74,"class_id":284,"type":"workout_manager","action":"assign","date":"08/04/26 Wednesday"} 
[2026-04-08 02:22:03] local.INFO: Saved type row strength  
[2026-04-08 02:22:03] local.INFO: Saved type row warmup  
[2026-04-08 02:22:03] local.INFO: Day received: {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:23:10] local.INFO: Day received: {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:23:10] local.INFO: Tab value: all  
[2026-04-08 02:23:10] local.INFO: Saved type row conditioning  
[2026-04-08 02:23:10] local.INFO: Saved type row strength  
[2026-04-08 02:23:10] local.INFO: Saved type row warmup  
[2026-04-08 02:23:11] local.INFO: Saved type row conditioning  
[2026-04-08 02:23:11] local.INFO: Saved type row strength  
[2026-04-08 02:23:11] local.INFO: Saved type row warmup  
[2026-04-08 02:23:11] local.INFO: Saved type row conditioning  
[2026-04-08 02:23:11] local.INFO: Saved type row strength  
[2026-04-08 02:23:11] local.INFO: Saved type row warmup  
[2026-04-08 02:23:33] local.INFO: Tab value: all  
[2026-04-08 02:23:33] local.INFO: Day received: {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:23:34] local.INFO: Saved type row conditioning  
[2026-04-08 02:23:34] local.INFO: Saved type row strength  
[2026-04-08 02:23:34] local.INFO: Saved type row warmup  
[2026-04-08 02:23:34] local.INFO: Saved type row conditioning  
[2026-04-08 02:23:34] local.INFO: Saved type row strength  
[2026-04-08 02:23:34] local.INFO: Saved type row warmup  
[2026-04-08 02:23:34] local.INFO: Saved type row conditioning  
[2026-04-08 02:23:34] local.INFO: Saved type row strength  
[2026-04-08 02:23:34] local.INFO: Saved type row warmup  
[2026-04-08 02:25:29] local.INFO: Day received: {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:25:29] local.INFO: Saved type row conditioning  
[2026-04-08 02:25:29] local.INFO: Saved type row strength  
[2026-04-08 02:25:29] local.INFO: Saved type row warmup  
[2026-04-08 02:25:29] local.INFO: Tab value: all  
[2026-04-08 02:25:29] local.INFO: Saved type row conditioning  
[2026-04-08 02:25:29] local.INFO: Saved type row strength  
[2026-04-08 02:25:29] local.INFO: Saved type row warmup  
[2026-04-08 02:25:30] local.INFO: Saved type row conditioning  
[2026-04-08 02:25:30] local.INFO: Saved type row strength  
[2026-04-08 02:25:30] local.INFO: Saved type row warmup  
[2026-04-08 02:25:33] local.INFO: assignWorkoutToClass:  {"workout_id":75,"class_id":284,"type":"workout_manager","action":"assign","date":"08/04/26 Wednesday"} 
[2026-04-08 02:25:33] local.INFO: Saved type row conditioning  
[2026-04-08 02:25:33] local.INFO: Saved type row strength  
[2026-04-08 02:25:33] local.INFO: Saved type row warmup  
[2026-04-08 02:25:33] local.INFO: Day received: {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/04/26 Wednesday","date_obj":"2026-04-08"} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday","patterns":["08/04/26 Wednesday","08/04/26","08/04/2026","08/04/26 Wednesday","08/04/2026 Wednesday","Wednesday 08/04/26","Wednesday 08/04/2026"]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[73,74,75],"types":["warmup","strength","conditioning"]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[73,74,75]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[73,74,75],"types":["Warmup","Strength","Conditioning"],"formats":["rounds","straight-sets","for-time"]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":35,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":36,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":37,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":47,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":48,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":14,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":15,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":16,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":17,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":18,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":19,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":20,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":21,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:40:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":8,"matched":0,"not_matched":8,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":73,"workout_libraries_id":141,"training_load":50,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":73,"workout_libraries_id":141,"training_load":65,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":73,"workout_libraries_id":141,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":74,"workout_libraries_id":141,"training_load":85,"unit_type":"%","reps":4,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":157,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":158,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":159,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":160,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":74,"workout_libraries_id":28,"training_load":20,"unit_type":"Kg","reps":8,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":161,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":162,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":163,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":164,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8}]}] 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":"Male","reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:40:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:40:38] local.INFO: Day received (raw): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:40:38] local.INFO: Day received (sanitized): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:40:38] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/04/26 Wednesday","date_obj":"2026-04-08"} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday","patterns":["08/04/26 Wednesday","08/04/26","08/04/2026","08/04/26 Wednesday","08/04/2026 Wednesday","Wednesday 08/04/26","Wednesday 08/04/2026"]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[73,74,75],"types":["warmup","strength","conditioning"]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[73,74,75]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[73,74,75],"types":["Warmup","Strength","Conditioning"],"formats":["rounds","straight-sets","for-time"]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":35,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":36,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":37,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":47,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":48,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":14,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":15,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":16,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":17,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":18,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":19,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":20,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":21,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":8,"matched":0,"not_matched":8,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":73,"workout_libraries_id":141,"training_load":50,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":73,"workout_libraries_id":141,"training_load":65,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":73,"workout_libraries_id":141,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":74,"workout_libraries_id":141,"training_load":85,"unit_type":"%","reps":4,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":157,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":158,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":159,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":160,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":74,"workout_libraries_id":28,"training_load":20,"unit_type":"Kg","reps":8,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":161,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":162,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":163,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":164,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8}]}] 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":"Male","reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:41:25] local.INFO: Day received (raw): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:41:25] local.INFO: Day received (sanitized): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:41:25] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/04/26 Wednesday","date_obj":"2026-04-08"} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday","patterns":["08/04/26 Wednesday","08/04/26","08/04/2026","08/04/26 Wednesday","08/04/2026 Wednesday","Wednesday 08/04/26","Wednesday 08/04/2026"]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[73,74,75],"types":["warmup","strength","conditioning"]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[73,74,75]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[73,74,75],"types":["Warmup","Strength","Conditioning"],"formats":["rounds","straight-sets","for-time"]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":35,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":36,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":37,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":47,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":48,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":14,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":15,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":16,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":17,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":18,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":19,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":20,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":21,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":8,"matched":0,"not_matched":8,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":73,"workout_libraries_id":141,"training_load":50,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":73,"workout_libraries_id":141,"training_load":65,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":73,"workout_libraries_id":141,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":74,"workout_libraries_id":141,"training_load":85,"unit_type":"%","reps":4,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":157,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":158,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":159,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":160,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":74,"workout_libraries_id":28,"training_load":20,"unit_type":"Kg","reps":8,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":161,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":162,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":163,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":164,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8}]}] 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":"Male","reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:41:45] local.INFO: Day received (raw): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:41:45] local.INFO: Day received (sanitized): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:41:45] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/04/26 Wednesday","date_obj":"2026-04-08"} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday","patterns":["08/04/26 Wednesday","08/04/26","08/04/2026","08/04/26 Wednesday","08/04/2026 Wednesday","Wednesday 08/04/26","Wednesday 08/04/2026"]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[73,74,75],"types":["warmup","strength","conditioning"]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[73,74,75]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[73,74,75],"types":["Warmup","Strength","Conditioning"],"formats":["rounds","straight-sets","for-time"]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":35,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":36,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":37,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":47,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":48,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":14,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":15,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":16,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":17,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":18,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":19,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":20,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":21,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":8,"matched":0,"not_matched":8,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":73,"workout_libraries_id":141,"training_load":50,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":73,"workout_libraries_id":141,"training_load":65,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":73,"workout_libraries_id":141,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":74,"workout_libraries_id":141,"training_load":85,"unit_type":"%","reps":4,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":157,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":158,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":159,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":160,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":74,"workout_libraries_id":28,"training_load":20,"unit_type":"Kg","reps":8,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":161,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":162,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":163,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":164,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8}]}] 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":"Male","reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:41:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:41:46] local.INFO: Day received (raw): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:41:46] local.INFO: Day received (sanitized): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:41:46] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/04/26 Wednesday","date_obj":"2026-04-08"} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday","patterns":["08/04/26 Wednesday","08/04/26","08/04/2026","08/04/26 Wednesday","08/04/2026 Wednesday","Wednesday 08/04/26","Wednesday 08/04/2026"]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[73,74,75],"types":["warmup","strength","conditioning"]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[73,74,75]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[73,74,75],"types":["Warmup","Strength","Conditioning"],"formats":["rounds","straight-sets","for-time"]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":35,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":36,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":37,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":47,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":48,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":14,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":15,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":16,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":17,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":18,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":19,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":20,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":21,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":8,"matched":0,"not_matched":8,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":73,"workout_libraries_id":141,"training_load":50,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":73,"workout_libraries_id":141,"training_load":65,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":73,"workout_libraries_id":141,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":74,"workout_libraries_id":141,"training_load":85,"unit_type":"%","reps":4,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":157,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":158,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":159,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":160,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":74,"workout_libraries_id":28,"training_load":20,"unit_type":"Kg","reps":8,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":161,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":162,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":163,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":164,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8}]}] 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":"Male","reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:31] local.INFO: Day received (raw): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:42:31] local.INFO: Day received (sanitized): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:42:31] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/04/26 Wednesday","date_obj":"2026-04-08"} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday","patterns":["08/04/26 Wednesday","08/04/26","08/04/2026","08/04/26 Wednesday","08/04/2026 Wednesday","Wednesday 08/04/26","Wednesday 08/04/2026"]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[73,74,75],"types":["warmup","strength","conditioning"]} 
[2026-04-08 02:42:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[73,74,75]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[73,74,75],"types":["Warmup","Strength","Conditioning"],"formats":["rounds","straight-sets","for-time"]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":35,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":36,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":37,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":47,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":48,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":14,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":15,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":16,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":17,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":18,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":19,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":20,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":21,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":8,"matched":0,"not_matched":8,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":73,"workout_libraries_id":141,"training_load":50,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":73,"workout_libraries_id":141,"training_load":65,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":73,"workout_libraries_id":141,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":74,"workout_libraries_id":141,"training_load":85,"unit_type":"%","reps":4,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":157,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":158,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":159,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":160,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":74,"workout_libraries_id":28,"training_load":20,"unit_type":"Kg","reps":8,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":161,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":162,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":163,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":164,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8}]}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":"Male","reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: Day received (raw): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:42:32] local.INFO: Day received (sanitized): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:42:32] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/04/26 Wednesday","date_obj":"2026-04-08"} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday","patterns":["08/04/26 Wednesday","08/04/26","08/04/2026","08/04/26 Wednesday","08/04/2026 Wednesday","Wednesday 08/04/26","Wednesday 08/04/2026"]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[73,74,75],"types":["warmup","strength","conditioning"]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[73,74,75]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[73,74,75],"types":["Warmup","Strength","Conditioning"],"formats":["rounds","straight-sets","for-time"]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":35,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":36,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":37,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":47,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":48,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":14,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":15,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":16,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":17,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":18,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":19,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":20,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":21,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":8,"matched":0,"not_matched":8,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":73,"workout_libraries_id":141,"training_load":50,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":73,"workout_libraries_id":141,"training_load":65,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":73,"workout_libraries_id":141,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":74,"workout_libraries_id":141,"training_load":85,"unit_type":"%","reps":4,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":157,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":158,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":159,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":160,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":74,"workout_libraries_id":28,"training_load":20,"unit_type":"Kg","reps":8,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":161,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":162,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":163,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":164,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8}]}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":"Male","reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:32] local.INFO: Day received (raw): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:42:32] local.INFO: Day received (sanitized): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:42:32] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/04/26 Wednesday","date_obj":"2026-04-08"} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday","patterns":["08/04/26 Wednesday","08/04/26","08/04/2026","08/04/26 Wednesday","08/04/2026 Wednesday","Wednesday 08/04/26","Wednesday 08/04/2026"]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[73,74,75],"types":["warmup","strength","conditioning"]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[73,74,75]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[73,74,75],"types":["Warmup","Strength","Conditioning"],"formats":["rounds","straight-sets","for-time"]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":35,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":36,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":37,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":47,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":48,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":14,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":15,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":16,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":17,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":18,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":19,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":20,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":21,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":8,"matched":0,"not_matched":8,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":73,"workout_libraries_id":141,"training_load":50,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":73,"workout_libraries_id":141,"training_load":65,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":73,"workout_libraries_id":141,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":74,"workout_libraries_id":141,"training_load":85,"unit_type":"%","reps":4,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":157,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":158,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":159,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":160,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":74,"workout_libraries_id":28,"training_load":20,"unit_type":"Kg","reps":8,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":161,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":162,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":163,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":164,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8}]}] 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":"Male","reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:34] local.INFO: Day received (raw): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:42:34] local.INFO: Day received (sanitized): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:42:34] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/04/26 Wednesday","date_obj":"2026-04-08"} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday","patterns":["08/04/26 Wednesday","08/04/26","08/04/2026","08/04/26 Wednesday","08/04/2026 Wednesday","Wednesday 08/04/26","Wednesday 08/04/2026"]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[73,74,75],"types":["warmup","strength","conditioning"]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[73,74,75]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[73,74,75],"types":["Warmup","Strength","Conditioning"],"formats":["rounds","straight-sets","for-time"]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":35,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":36,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":37,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":47,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":48,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":14,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":15,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":16,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":17,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":18,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":19,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":20,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":21,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":8,"matched":0,"not_matched":8,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":73,"workout_libraries_id":141,"training_load":50,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":73,"workout_libraries_id":141,"training_load":65,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":73,"workout_libraries_id":141,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":74,"workout_libraries_id":141,"training_load":85,"unit_type":"%","reps":4,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":157,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":158,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":159,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":160,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":74,"workout_libraries_id":28,"training_load":20,"unit_type":"Kg","reps":8,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":161,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":162,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":163,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":164,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8}]}] 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":"Male","reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 02:42:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 02:42:35] local.INFO: Day received (raw): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:42:35] local.INFO: Day received (sanitized): {"day":"08/04/26 Wednesday"} 
[2026-04-08 02:42:35] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-08 02:58:31] local.INFO: storestrengthdaily function called.  
[2026-04-08 02:58:31] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-08 02:58:31] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":74,"workout_format_type":"straight-sets","workout_format_id":161,"reps":8,"weight":0,"date":"08/04/26 Wednesday","set_number":1,"class_Id":284}]} 
[2026-04-08 02:58:31] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-04-08 02:58:31] local.INFO: New strength record created {"workout_manager_id":74,"set_number":1} 
[2026-04-08 03:06:03] local.INFO: storestrengthdaily function called.  
[2026-04-08 03:06:03] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-08 03:06:03] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":74,"workout_format_type":"straight-sets","workout_format_id":158,"reps":4,"weight":0,"date":"08/04/26 Wednesday","set_number":2,"class_Id":284}]} 
[2026-04-08 03:06:03] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-04-08 03:06:03] local.INFO: New strength record created {"workout_manager_id":74,"set_number":2} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/04/26 Wednesday","date_obj":"2026-04-08"} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday","patterns":["08/04/26 Wednesday","08/04/26","08/04/2026","08/04/26 Wednesday","08/04/2026 Wednesday","Wednesday 08/04/26","Wednesday 08/04/2026"]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[73,74,75],"types":["warmup","strength","conditioning"]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[73,74,75]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[73,74,75],"types":["Warmup","Strength","Conditioning"],"formats":["rounds","straight-sets","for-time"]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":35,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":36,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":37,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":47,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":48,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":14,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":15,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":16,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":17,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":18,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":19,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":20,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":21,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":8,"matched":0,"not_matched":8,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":73,"workout_libraries_id":141,"training_load":50,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":73,"workout_libraries_id":141,"training_load":65,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":73,"workout_libraries_id":141,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":74,"workout_libraries_id":141,"training_load":85,"unit_type":"%","reps":4,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":157,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":158,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":1,"daily_reps":"4","target_reps":4},{"id":159,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":160,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":74,"workout_libraries_id":28,"training_load":20,"unit_type":"Kg","reps":8,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":161,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":1,"daily_reps":"8","target_reps":8},{"id":162,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":163,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":164,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8}]}] 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":"Male","reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:08:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 03:08:05] local.INFO: Day received (raw): {"day":"08/04/26 Wednesday"} 
[2026-04-08 03:08:05] local.INFO: Day received (sanitized): {"day":"08/04/26 Wednesday"} 
[2026-04-08 03:08:05] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-08 03:30:46] local.INFO: storeconditioningdaily function called.  
[2026-04-08 03:30:46] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-08 03:30:46] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":75,"workout_format_type":"for-time","workout_format_id":14,"reps":10,"date":"08/04/26 Wednesday","is_completed":1,"status":"completed","class_Id":284},{"workout_manager_id":75,"workout_format_type":"for-time","workout_format_id":15,"reps":10,"date":"08/04/26 Wednesday","is_completed":1,"status":"completed","class_Id":284},{"workout_manager_id":75,"workout_format_type":"for-time","workout_format_id":16,"reps":10,"date":"08/04/26 Wednesday","is_completed":1,"status":"completed","class_Id":284},{"workout_manager_id":75,"workout_format_type":"for-time","workout_format_id":17,"reps":10,"date":"08/04/26 Wednesday","is_completed":1,"status":"completed","class_Id":284},{"workout_manager_id":75,"workout_format_type":"for-time","workout_format_id":18,"reps":10,"date":"08/04/26 Wednesday","is_completed":1,"status":"completed","class_Id":284},{"workout_manager_id":75,"workout_format_type":"for-time","workout_format_id":19,"reps":10,"date":"08/04/26 Wednesday","is_completed":1,"status":"completed","class_Id":284},{"workout_manager_id":75,"workout_format_type":"for-time","workout_format_id":20,"reps":10,"date":"08/04/26 Wednesday","is_completed":1,"status":"completed","class_Id":284},{"workout_manager_id":75,"workout_format_type":"for-time","workout_format_id":21,"reps":10,"date":"08/04/26 Wednesday","is_completed":1,"status":"completed","class_Id":284}]} 
[2026-04-08 03:30:46] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-08 03:30:46] local.INFO: New conditioning record created {"workout_manager_id":75} 
[2026-04-08 03:30:46] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-08 03:30:46] local.INFO: New conditioning record created {"workout_manager_id":75} 
[2026-04-08 03:30:46] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-08 03:30:46] local.INFO: New conditioning record created {"workout_manager_id":75} 
[2026-04-08 03:30:46] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-08 03:30:46] local.INFO: New conditioning record created {"workout_manager_id":75} 
[2026-04-08 03:30:46] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-08 03:30:46] local.INFO: New conditioning record created {"workout_manager_id":75} 
[2026-04-08 03:30:46] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-08 03:30:46] local.INFO: New conditioning record created {"workout_manager_id":75} 
[2026-04-08 03:30:46] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-08 03:30:46] local.INFO: New conditioning record created {"workout_manager_id":75} 
[2026-04-08 03:30:46] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-08 03:30:46] local.INFO: New conditioning record created {"workout_manager_id":75} 
[2026-04-08 03:30:46] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 03:30:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/04/26 Wednesday","date_obj":"2026-04-08"} 
[2026-04-08 03:30:46] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday","patterns":["08/04/26 Wednesday","08/04/26","08/04/2026","08/04/26 Wednesday","08/04/2026 Wednesday","Wednesday 08/04/26","Wednesday 08/04/2026"]} 
[2026-04-08 03:30:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 03:30:46] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-08 03:30:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-08 03:30:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 03:30:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[73,74,75],"types":["warmup","strength","conditioning"]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[73,74,75]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[73,74,75],"types":["Warmup","Strength","Conditioning"],"formats":["rounds","straight-sets","for-time"]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":35,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":36,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":37,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":47,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":48,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":14,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":15,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":16,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":17,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":18,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":19,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":20,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":21,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":8,"matched":0,"not_matched":8,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-08 03:30:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":14,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":15,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":16,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":17,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":20,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":21,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":73,"workout_libraries_id":141,"training_load":50,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":73,"workout_libraries_id":141,"training_load":65,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":73,"workout_libraries_id":141,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":74,"workout_libraries_id":141,"training_load":85,"unit_type":"%","reps":4,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":157,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":158,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":1,"daily_reps":"4","target_reps":4},{"id":159,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":160,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":74,"workout_libraries_id":28,"training_load":20,"unit_type":"Kg","reps":8,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":161,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":1,"daily_reps":"8","target_reps":8},{"id":162,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":163,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":164,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8}]}] 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":"Male","reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 03:30:47] local.INFO: Day received (raw): {"day":"08/04/26 Wednesday"} 
[2026-04-08 03:30:47] local.INFO: Day received (sanitized): {"day":"08/04/26 Wednesday"} 
[2026-04-08 03:30:47] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/04/26 Wednesday","date_obj":"2026-04-08"} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday","patterns":["08/04/26 Wednesday","08/04/26","08/04/2026","08/04/26 Wednesday","08/04/2026 Wednesday","Wednesday 08/04/26","Wednesday 08/04/2026"]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":284,"date_string":"08/04/26 Wednesday"} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[73,74,75],"types":["warmup","strength","conditioning"]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[73,74,75]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[73,74,75],"types":["Warmup","Strength","Conditioning"],"formats":["rounds","straight-sets","for-time"]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":35,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":36,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":73,"relation":"rounds","format_row_id":37,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":47,"workout_libraries_id":141,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":74,"relation":"straights","format_row_id":48,"workout_libraries_id":28,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":14,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":15,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":16,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":17,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":18,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":19,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":20,"workout_libraries_id":149,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":75,"relation":"forTimes","format_row_id":21,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":3,"matched":0,"not_matched":3,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":8,"matched":0,"not_matched":8,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-08 03:30:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":14,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":15,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":16,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":17,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":18,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":19,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":20,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:55] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":21,"date_string":"08/04/26 Wednesday","dailyReps":"10","targetReps":10,"isCompleted":true} 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":35,"workout_manager_id":73,"workout_libraries_id":141,"training_load":50,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":36,"workout_manager_id":73,"workout_libraries_id":141,"training_load":65,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":37,"workout_manager_id":73,"workout_libraries_id":141,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-08T02:19:56.000000Z","updated_at":"2026-04-08T02:19:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":74,"workout_libraries_id":141,"training_load":85,"unit_type":"%","reps":4,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":157,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":158,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":1,"daily_reps":"4","target_reps":4},{"id":159,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":160,"workout_libraries_id":141,"straight_id":47,"res":4,"training_load":85,"unittype":"%","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":74,"workout_libraries_id":28,"training_load":20,"unit_type":"Kg","reps":8,"created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":161,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":1,"daily_reps":"8","target_reps":8},{"id":162,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":163,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8},{"id":164,"workout_libraries_id":28,"straight_id":48,"res":8,"training_load":20,"unittype":"Kg","created_at":"2026-04-08T02:21:52.000000Z","updated_at":"2026-04-08T02:21:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":8}]}] 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":"Male","reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":19,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":75,"workout_libraries_id":149,"training_load":40,"unit_type":"Kg","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-08 03:30:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":75,"workout_libraries_id":152,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-08T02:25:26.000000Z","updated_at":"2026-04-08T02:25:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":1,"daily_reps":"10","target_reps":10,"workout_library":{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-08 03:30:55] local.INFO: Day received (raw): {"day":"08/04/26 Wednesday"} 
[2026-04-08 03:30:55] local.INFO: Day received (sanitized): {"day":"08/04/26 Wednesday"} 
[2026-04-08 03:30:55] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-09 01:02:39] local.INFO: Day received: {"day":"09/04/26 Thursday"} 
[2026-04-09 01:02:39] local.INFO: Tab value: all  
[2026-04-09 01:04:28] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `straight` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `updated_at`, `created_at`) values (76, 98, 250, m, ?, 2026-04-09 01:04:28, 2026-04-09 01:04:28)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `straight` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `updated_at`, `created_at`) values (76, 98, 250, m, ?, 2026-04-09 01:04:28, 2026-04-09 01:04:28)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `st...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `st...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `st...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `st...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Straight))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Straight), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(289): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(103): App\\Http\\Controllers\\WorkoutManagerController->saveStraightSets(Object(Illuminate\\Http\\Request), 76)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `st...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `st...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `st...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `st...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `st...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Straight))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Straight), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(289): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(103): App\\Http\\Controllers\\WorkoutManagerController->saveStraightSets(Object(Illuminate\\Http\\Request), 76)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-09 02:29:28] local.INFO: Day received: {"day":"09/04/26 Thursday"} 
[2026-04-09 02:29:28] local.INFO: Tab value: all  
[2026-04-09 02:29:29] local.INFO: Saved type row warmup  
[2026-04-09 02:29:29] local.INFO: Saved type row warmup  
[2026-04-09 02:29:29] local.INFO: Saved type row warmup  
[2026-04-09 02:30:27] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `straight` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `updated_at`, `created_at`) values (76, 98, 250, m, ?, 2026-04-09 02:30:27, 2026-04-09 02:30:27)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `straight` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `updated_at`, `created_at`) values (76, 98, 250, m, ?, 2026-04-09 02:30:27, 2026-04-09 02:30:27)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `st...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `st...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `st...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `st...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Straight))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Straight), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(289): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(191): App\\Http\\Controllers\\WorkoutManagerController->saveStraightSets(Object(Illuminate\\Http\\Request), 76)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->update(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('update', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'update')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `st...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `st...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `st...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `st...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `st...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Straight))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Straight), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(289): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(191): App\\Http\\Controllers\\WorkoutManagerController->saveStraightSets(Object(Illuminate\\Http\\Request), 76)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->update(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('update', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'update')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-13 01:33:43] local.INFO: Tab value: all  
[2026-04-13 01:33:43] local.INFO: Day received: {"day":"13/04/26 Monday"} 
[2026-04-13 01:55:43] local.INFO: Day received: {"day":"13/04/26 Monday"} 
[2026-04-13 01:55:43] local.INFO: Tab value: all  
[2026-04-13 01:55:44] local.INFO: Saved type row strength  
[2026-04-13 01:55:44] local.INFO: Saved type row strength  
[2026-04-13 01:55:45] local.INFO: Saved type row strength  
[2026-04-13 01:55:48] local.INFO: assignWorkoutToClass:  {"workout_id":77,"class_id":287,"type":"workout_manager","action":"assign","date":"13/04/26 Monday"} 
[2026-04-13 01:55:49] local.INFO: Day received: {"day":"13/04/26 Monday"} 
[2026-04-13 01:55:49] local.INFO: Saved type row strength  
[2026-04-13 01:57:39] local.INFO: Day received: {"day":"13/04/26 Monday"} 
[2026-04-13 01:57:39] local.INFO: Tab value: all  
[2026-04-13 01:57:39] local.INFO: Saved type row conditioning  
[2026-04-13 01:57:39] local.INFO: Saved type row strength  
[2026-04-13 01:57:39] local.INFO: Saved type row conditioning  
[2026-04-13 01:57:39] local.INFO: Saved type row strength  
[2026-04-13 01:57:40] local.INFO: Saved type row conditioning  
[2026-04-13 01:57:40] local.INFO: Saved type row strength  
[2026-04-13 01:57:47] local.INFO: assignWorkoutToClass:  {"workout_id":78,"class_id":287,"type":"workout_manager","action":"assign","date":"13/04/26 Monday"} 
[2026-04-13 01:57:48] local.INFO: Day received: {"day":"13/04/26 Monday"} 
[2026-04-13 01:57:48] local.INFO: Saved type row conditioning  
[2026-04-13 01:57:48] local.INFO: Saved type row strength  
[2026-04-13 02:02:05] local.INFO: Tab value: all  
[2026-04-13 02:02:05] local.INFO: Day received: {"day":"13/04/26 Monday"} 
[2026-04-13 02:02:06] local.INFO: Saved type row conditioning  
[2026-04-13 02:02:06] local.INFO: Saved type row conditioning  
[2026-04-13 02:02:06] local.INFO: Saved type row strength  
[2026-04-13 02:02:06] local.INFO: Saved type row conditioning  
[2026-04-13 02:02:06] local.INFO: Saved type row conditioning  
[2026-04-13 02:02:06] local.INFO: Saved type row strength  
[2026-04-13 02:02:07] local.INFO: Saved type row conditioning  
[2026-04-13 02:02:07] local.INFO: Saved type row conditioning  
[2026-04-13 02:02:07] local.INFO: Saved type row strength  
[2026-04-13 02:34:11] local.INFO: assignWorkoutToClass:  {"workout_id":79,"class_id":287,"type":"workout_manager","action":"assign","date":"13/04/26 Monday"} 
[2026-04-13 02:34:11] local.INFO: Saved type row conditioning  
[2026-04-13 02:34:11] local.INFO: Saved type row conditioning  
[2026-04-13 02:34:11] local.INFO: Saved type row strength  
[2026-04-13 02:34:12] local.INFO: Day received: {"day":"13/04/26 Monday"} 
[2026-04-13 03:49:17] local.INFO: Tab value: all  
[2026-04-13 03:49:17] local.INFO: Day received: {"day":"13/04/26 Monday"} 
[2026-04-13 03:49:17] local.INFO: Saved type row conditioning  
[2026-04-13 03:49:17] local.INFO: Saved type row conditioning  
[2026-04-13 03:49:17] local.INFO: Saved type row strength  
[2026-04-13 03:49:20] local.INFO: Saved type row conditioning  
[2026-04-13 03:49:20] local.INFO: Saved type row conditioning  
[2026-04-13 03:49:20] local.INFO: Saved type row strength  
[2026-04-13 03:49:23] local.INFO: Saved type row conditioning  
[2026-04-13 03:49:23] local.INFO: Saved type row conditioning  
[2026-04-13 03:49:23] local.INFO: Saved type row strength  
[2026-04-14 02:28:04] local.INFO: Tab value: all  
[2026-04-14 02:28:04] local.INFO: Day received: {"day":"14/04/26 Tuesday"} 
[2026-04-15 01:25:07] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:25:07] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:25:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 01:25:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 01:25:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-15 01:25:07] local.WARNING: [getWorkouts] No workout assignments found {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-15 01:25:10] local.WARNING: [getWorkouts] No workout assignments found {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-15 01:25:10] local.WARNING: [getWorkouts] No workout assignments found {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-15 01:25:11] local.WARNING: [getWorkouts] No workout assignments found {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-15 01:25:11] local.WARNING: [getWorkouts] No workout assignments found {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:25:18] local.INFO: Tab value: all  
[2026-04-15 01:25:18] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:37:27] local.INFO: Tab value: all  
[2026-04-15 01:37:27] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:37:28] local.INFO: Saved type row strength  
[2026-04-15 01:37:28] local.INFO: Saved type row strength  
[2026-04-15 01:37:28] local.INFO: Saved type row strength  
[2026-04-15 01:37:33] local.INFO: assignWorkoutToClass:  {"workout_id":81,"class_id":289,"type":"workout_manager","action":"assign","date":"15/04/26 Wednesday"} 
[2026-04-15 01:37:33] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:37:33] local.INFO: Saved type row strength  
[2026-04-15 01:37:44] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[81],"types":["strength"]} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81]} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[81],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":81,"relation":"straights","format_row_id":52,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 01:37:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-15 01:37:44] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:37:44] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:37:44] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[81],"types":["strength"]} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81]} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[81],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":81,"relation":"straights","format_row_id":52,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 01:37:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-15 01:37:45] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:37:45] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:37:45] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[81],"types":["strength"]} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81]} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[81],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":81,"relation":"straights","format_row_id":52,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 01:37:46] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-15 01:37:46] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:37:46] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:37:46] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[81],"types":["strength"]} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81]} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[81],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":81,"relation":"straights","format_row_id":52,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 01:38:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-15 01:38:08] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:38:08] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:38:08] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[81],"types":["strength"]} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81]} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[81],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":81,"relation":"straights","format_row_id":52,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 01:38:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-15 01:38:10] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:38:10] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:38:10] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[81],"types":["strength"]} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81]} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[81],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":81,"relation":"straights","format_row_id":52,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 01:38:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-15 01:38:12] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:38:12] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:38:12] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[81],"types":["strength"]} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81]} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[81],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":81,"relation":"straights","format_row_id":52,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 01:38:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-15 01:38:25] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:38:25] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:38:25] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[81],"types":["strength"]} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81]} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[81],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":81,"relation":"straights","format_row_id":52,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"}]}} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 01:38:40] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-15 01:38:40] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:38:40] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:38:40] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[81],"types":["strength"]} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81]} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[81],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":81,"relation":"straights","format_row_id":52,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"}]}} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 01:38:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-15 01:38:42] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:38:42] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 01:38:42] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:39:59] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:39:59] local.INFO: Tab value: all  
[2026-04-15 02:40:00] local.INFO: Saved type row strength  
[2026-04-15 02:40:00] local.INFO: Saved type row strength  
[2026-04-15 02:40:01] local.INFO: Saved type row strength  
[2026-04-15 02:42:43] local.INFO: Tab value: all  
[2026-04-15 02:42:43] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:42:43] local.INFO: Saved type row conditioning  
[2026-04-15 02:42:43] local.INFO: Saved type row strength  
[2026-04-15 02:42:44] local.INFO: Saved type row conditioning  
[2026-04-15 02:42:44] local.INFO: Saved type row strength  
[2026-04-15 02:42:44] local.INFO: Saved type row conditioning  
[2026-04-15 02:42:44] local.INFO: Saved type row strength  
[2026-04-15 02:42:55] local.INFO: assignWorkoutToClass:  {"workout_id":83,"class_id":289,"type":"workout_manager","action":"assign","date":"15/04/26 Wednesday"} 
[2026-04-15 02:42:55] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:42:56] local.INFO: Saved type row conditioning  
[2026-04-15 02:42:56] local.INFO: Saved type row strength  
[2026-04-15 02:43:07] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[81,83],"types":["Strength","Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":81,"relation":"straights","format_row_id":52,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"}]}} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-15 02:43:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":81,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":177,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:24.000000Z","updated_at":"2026-04-15T01:37:24.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4},{"id":178,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4},{"id":179,"workout_libraries_id":17,"straight_id":52,"res":4,"training_load":80,"unittype":"%","created_at":"2026-04-15T01:37:25.000000Z","updated_at":"2026-04-15T01:37:25.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":52,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":4}]}] 
[2026-04-15 02:43:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:43:07] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:07] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:07] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:43:15] local.INFO: Saved type row conditioning  
[2026-04-15 02:43:19] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:43:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:43:19] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:19] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:19] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:43:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:43:21] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:21] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:21] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:43:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:43:23] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:23] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:23] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:43:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:43:32] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:32] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:32] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:43:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:43:34] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:34] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:34] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:43:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:43:36] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:36] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:36] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:43:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:43:38] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:38] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:38] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:43:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:43:54] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:54] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:54] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:43:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:43:57] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:57] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:43:57] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[72]} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"}}} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:44:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:44:04] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:44:04] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:44:04] local.INFO: Tests retrieved {"count":1,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"attached_test_id":73,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:44:19] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:44:19] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:44:19] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:44:19] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":83,"relation":"straights","format_row_id":53,"workout_libraries_id":118,"attached_test_id":73,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:44:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":180,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":181,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":182,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":183,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":184,"workout_libraries_id":118,"straight_id":53,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:42:39.000000Z","updated_at":"2026-04-15T02:42:39.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":53,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:44:22] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:44:22] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:44:22] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:45:51] local.INFO: storeconditioningdaily function called.  
[2026-04-15 02:45:51] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 02:45:51] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":83,"workout_format_type":"straight-sets","workout_format_id":180,"reps":5,"weight":12,"date":"15/04/26 Wednesday","set_number":1,"class_Id":289},{"workout_manager_id":83,"workout_format_type":"straight-sets","workout_format_id":181,"reps":5,"weight":13.25,"date":"15/04/26 Wednesday","set_number":2,"class_Id":289},{"workout_manager_id":83,"workout_format_type":"straight-sets","workout_format_id":182,"reps":5,"weight":14.5,"date":"15/04/26 Wednesday","set_number":3,"class_Id":289},{"workout_manager_id":83,"workout_format_type":"straight-sets","workout_format_id":183,"reps":5,"weight":15.75,"date":"15/04/26 Wednesday","set_number":4,"class_Id":289},{"workout_manager_id":83,"workout_format_type":"straight-sets","workout_format_id":184,"reps":5,"weight":17,"date":"15/04/26 Wednesday","set_number":5,"class_Id":289}]} 
[2026-04-15 02:45:51] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 02:45:51] local.INFO: New conditioning record created {"workout_manager_id":83} 
[2026-04-15 02:45:51] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 02:45:51] local.INFO: New conditioning record created {"workout_manager_id":83} 
[2026-04-15 02:45:51] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 02:45:51] local.INFO: New conditioning record created {"workout_manager_id":83} 
[2026-04-15 02:45:51] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 02:45:51] local.INFO: New conditioning record created {"workout_manager_id":83} 
[2026-04-15 02:45:51] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 02:45:51] local.INFO: New conditioning record created {"workout_manager_id":83} 
[2026-04-15 02:46:54] local.INFO: Tab value: all  
[2026-04-15 02:46:54] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:46:55] local.INFO: Saved type row conditioning  
[2026-04-15 02:46:55] local.INFO: Saved type row conditioning  
[2026-04-15 02:46:56] local.INFO: Saved type row conditioning  
[2026-04-15 02:47:29] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":83,"relation":"straights","format_row_id":54,"workout_libraries_id":118,"attached_test_id":73,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":54,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":185,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":186,"workout_libraries_id":118,"straight_id":54,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":187,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":188,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":189,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":55,"workout_libraries_id":54,"available_test_library_ids":[17,118]} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:47:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":54,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":185,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":186,"workout_libraries_id":118,"straight_id":54,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":187,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":188,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":189,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:47:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":55,"workout_manager_id":83,"workout_libraries_id":54,"training_load":6,"unit_type":"RPE","reps":6,"created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":190,"workout_libraries_id":54,"straight_id":55,"res":6,"training_load":6,"unittype":"RPE","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":191,"workout_libraries_id":54,"straight_id":55,"res":6,"training_load":6,"unittype":"RPE","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":192,"workout_libraries_id":54,"straight_id":55,"res":6,"training_load":6,"unittype":"RPE","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":193,"workout_libraries_id":54,"straight_id":55,"res":6,"training_load":6,"unittype":"RPE","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":194,"workout_libraries_id":54,"straight_id":55,"res":6,"training_load":6,"unittype":"RPE","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6}]}] 
[2026-04-15 02:47:29] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:47:29] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:47:29] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[81,83],"types":["strength","conditioning"]} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83]} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[83],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":83,"relation":"straights","format_row_id":54,"workout_libraries_id":118,"attached_test_id":73,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":54,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":185,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":186,"workout_libraries_id":118,"straight_id":54,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":187,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":188,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":189,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":83,"relation":"straights","format_row_id":55,"workout_libraries_id":54,"available_test_library_ids":[17,118]} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:47:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":54,"workout_manager_id":83,"workout_libraries_id":118,"training_load":85,"unit_type":"%","reps":5,"created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":185,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":186,"workout_libraries_id":118,"straight_id":54,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":187,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":188,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":189,"workout_libraries_id":118,"straight_id":54,"res":5,"training_load":85,"unittype":"%","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":73,"test_created_at":"2026-04-15 02:44:19","format_row_id":54,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-15 02:47:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":55,"workout_manager_id":83,"workout_libraries_id":54,"training_load":6,"unit_type":"RPE","reps":6,"created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":190,"workout_libraries_id":54,"straight_id":55,"res":6,"training_load":6,"unittype":"RPE","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":191,"workout_libraries_id":54,"straight_id":55,"res":6,"training_load":6,"unittype":"RPE","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":192,"workout_libraries_id":54,"straight_id":55,"res":6,"training_load":6,"unittype":"RPE","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":193,"workout_libraries_id":54,"straight_id":55,"res":6,"training_load":6,"unittype":"RPE","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6},{"id":194,"workout_libraries_id":54,"straight_id":55,"res":6,"training_load":6,"unittype":"RPE","created_at":"2026-04-15T02:46:51.000000Z","updated_at":"2026-04-15T02:46:51.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":6}]}] 
[2026-04-15 02:47:31] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:47:31] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:47:31] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:48:40] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:48:40] local.INFO: Tab value: all  
[2026-04-15 02:48:41] local.INFO: Saved type row conditioning  
[2026-04-15 02:48:41] local.INFO: Saved type row conditioning  
[2026-04-15 02:48:41] local.INFO: Saved type row conditioning  
[2026-04-15 02:52:57] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:52:57] local.INFO: Tab value: all  
[2026-04-15 02:52:57] local.INFO: Saved type row conditioning  
[2026-04-15 02:52:57] local.INFO: Saved type row conditioning  
[2026-04-15 02:52:57] local.INFO: Saved type row conditioning  
[2026-04-15 02:52:57] local.INFO: Saved type row conditioning  
[2026-04-15 02:52:58] local.INFO: Saved type row conditioning  
[2026-04-15 02:52:58] local.INFO: Saved type row conditioning  
[2026-04-15 02:53:04] local.INFO: Saved type row conditioning  
[2026-04-15 02:53:08] local.INFO: assignWorkoutToClass:  {"workout_id":85,"class_id":289,"type":"workout_manager","action":"assign","date":"15/04/26 Wednesday"} 
[2026-04-15 02:53:08] local.INFO: Saved type row conditioning  
[2026-04-15 02:53:08] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:53:11] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:53:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:53:11] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:53:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:53:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 02:53:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 02:53:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:53:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[81,83,85],"types":["strength","conditioning"]} 
[2026-04-15 02:53:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85]} 
[2026-04-15 02:53:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[85],"types":["Conditioning"],"formats":["rounds"]} 
[2026-04-15 02:53:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 02:53:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":85,"relation":"rounds","format_row_id":38,"workout_libraries_id":16,"available_test_library_ids":[17,118]} 
[2026-04-15 02:53:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":85,"relation":"rounds","format_row_id":39,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":39,"workout_manager_id":85,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-15T02:52:53.000000Z","updated_at":"2026-04-15T02:52:53.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":39,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 02:53:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":85,"relation":"rounds","format_row_id":40,"workout_libraries_id":21,"available_test_library_ids":[17,118]} 
[2026-04-15 02:53:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":85,"relation":"rounds","format_row_id":41,"workout_libraries_id":23,"available_test_library_ids":[17,118]} 
[2026-04-15 02:53:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:53:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":85,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-15T02:52:53.000000Z","updated_at":"2026-04-15T02:52:53.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 02:53:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":85,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-15T02:52:53.000000Z","updated_at":"2026-04-15T02:52:53.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":39,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 02:53:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":85,"workout_libraries_id":21,"training_load":60,"unit_type":"Cal","gender":null,"reps":0,"created_at":"2026-04-15T02:52:53.000000Z","updated_at":"2026-04-15T02:52:53.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 02:53:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":85,"workout_libraries_id":23,"training_load":null,"unit_type":"N/A","gender":null,"reps":30,"created_at":"2026-04-15T02:52:53.000000Z","updated_at":"2026-04-15T02:52:53.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":30,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 02:53:12] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:53:12] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:53:12] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[81,83,85],"types":["strength","conditioning"]} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85]} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[85],"types":["Conditioning"],"formats":["rounds"]} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":85,"relation":"rounds","format_row_id":38,"workout_libraries_id":16,"available_test_library_ids":[17,118]} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":85,"relation":"rounds","format_row_id":39,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":39,"workout_manager_id":85,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-15T02:52:53.000000Z","updated_at":"2026-04-15T02:52:53.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":39,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":85,"relation":"rounds","format_row_id":40,"workout_libraries_id":21,"available_test_library_ids":[17,118]} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":85,"relation":"rounds","format_row_id":41,"workout_libraries_id":23,"available_test_library_ids":[17,118]} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":85,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-15T02:52:53.000000Z","updated_at":"2026-04-15T02:52:53.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":85,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-15T02:52:53.000000Z","updated_at":"2026-04-15T02:52:53.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":39,"format_relation":"rounds","format_table":"rounds","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":85,"workout_libraries_id":21,"training_load":60,"unit_type":"Cal","gender":null,"reps":0,"created_at":"2026-04-15T02:52:53.000000Z","updated_at":"2026-04-15T02:52:53.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 02:53:13] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":85,"workout_libraries_id":23,"training_load":null,"unit_type":"N/A","gender":null,"reps":30,"created_at":"2026-04-15T02:52:53.000000Z","updated_at":"2026-04-15T02:52:53.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":30,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 02:53:13] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:53:13] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:53:13] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 02:58:30] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 02:58:30] local.INFO: Tab value: all  
[2026-04-15 02:58:31] local.INFO: Saved type row conditioning  
[2026-04-15 02:58:31] local.INFO: Saved type row conditioning  
[2026-04-15 02:58:31] local.INFO: Saved type row conditioning  
[2026-04-15 02:59:32] local.INFO: storeconditioningdaily function called.  
[2026-04-15 02:59:32] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 02:59:32] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":85,"workout_format_type":"rounds","workout_format_id":38,"reps":10,"set_number":1,"round_number":"1/4","training_load":null,"exercise_time":"00:00","date":"15/04/26 Wednesday","class_Id":289}]} 
[2026-04-15 02:59:32] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 02:59:32] local.INFO: New conditioning record created {"workout_manager_id":85} 
[2026-04-15 02:59:33] local.INFO: storeconditioningdaily function called.  
[2026-04-15 02:59:33] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 02:59:33] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":85,"workout_format_type":"rounds","workout_format_id":39,"reps":3,"set_number":1,"round_number":"1/4","training_load":100,"exercise_time":"00:00","date":"15/04/26 Wednesday","class_Id":289}]} 
[2026-04-15 02:59:33] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 02:59:33] local.INFO: New conditioning record created {"workout_manager_id":85} 
[2026-04-15 02:59:33] local.INFO: storeconditioningdaily function called.  
[2026-04-15 02:59:33] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 02:59:33] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":85,"workout_format_type":"rounds","workout_format_id":40,"reps":0,"set_number":1,"round_number":"1/4","training_load":60,"exercise_time":"00:00","date":"15/04/26 Wednesday","class_Id":289}]} 
[2026-04-15 02:59:33] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 02:59:33] local.INFO: New conditioning record created {"workout_manager_id":85} 
[2026-04-15 02:59:34] local.INFO: storeconditioningdaily function called.  
[2026-04-15 02:59:34] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 02:59:34] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":85,"workout_format_type":"rounds","workout_format_id":41,"reps":29,"set_number":1,"round_number":"1/4","training_load":null,"exercise_time":"00:00","date":"15/04/26 Wednesday","class_Id":289}]} 
[2026-04-15 02:59:34] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 02:59:34] local.INFO: New conditioning record created {"workout_manager_id":85} 
[2026-04-15 03:04:28] local.INFO: AMRAP row processing {"managerId":86,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-15 03:04:28] local.INFO: Saved AMRAP row 1  
[2026-04-15 03:04:28] local.INFO: AMRAP row processing {"managerId":86,"index":"2","exercise":"Thruster","workout_library_id":149} 
[2026-04-15 03:04:28] local.INFO: Saved AMRAP row 2  
[2026-04-15 03:04:28] local.INFO: AMRAP row processing {"managerId":86,"index":"3","exercise":"Bike erg","workout_library_id":21} 
[2026-04-15 03:04:28] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `amrap` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (86, 21, 350, m, 0, ?, 2026-04-15 03:04:28, 2026-04-15 03:04:28)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `amrap` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (86, 21, 350, m, 0, ?, 2026-04-15 03:04:28, 2026-04-15 03:04:28)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `am...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `am...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `am...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `am...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Amrap))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Amrap), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(382): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(106): App\\Http\\Controllers\\WorkoutManagerController->saveAmrap(Object(Illuminate\\Http\\Request), 86)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `am...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `am...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `am...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `am...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `am...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Amrap))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Amrap), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(382): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(106): App\\Http\\Controllers\\WorkoutManagerController->saveAmrap(Object(Illuminate\\Http\\Request), 86)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-15 03:05:04] local.INFO: AMRAP row processing {"managerId":87,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-15 03:05:04] local.INFO: Saved AMRAP row 1  
[2026-04-15 03:05:04] local.INFO: AMRAP row processing {"managerId":87,"index":"2","exercise":"Thruster","workout_library_id":149} 
[2026-04-15 03:05:04] local.INFO: Saved AMRAP row 2  
[2026-04-15 03:05:04] local.INFO: AMRAP row processing {"managerId":87,"index":"3","exercise":"Bike erg","workout_library_id":21} 
[2026-04-15 03:05:04] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `amrap` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (87, 21, 35, m, 0, ?, 2026-04-15 03:05:04, 2026-04-15 03:05:04)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `amrap` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (87, 21, 35, m, 0, ?, 2026-04-15 03:05:04, 2026-04-15 03:05:04)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `am...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `am...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `am...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `am...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Amrap))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Amrap), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(382): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(106): App\\Http\\Controllers\\WorkoutManagerController->saveAmrap(Object(Illuminate\\Http\\Request), 87)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `am...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `am...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `am...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `am...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `am...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Amrap))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Amrap), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(382): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(106): App\\Http\\Controllers\\WorkoutManagerController->saveAmrap(Object(Illuminate\\Http\\Request), 87)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-15 03:05:34] local.INFO: AMRAP row processing {"managerId":88,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-15 03:05:34] local.INFO: Saved AMRAP row 1  
[2026-04-15 03:05:34] local.INFO: AMRAP row processing {"managerId":88,"index":"2","exercise":"Thruster","workout_library_id":149} 
[2026-04-15 03:05:34] local.INFO: Saved AMRAP row 2  
[2026-04-15 03:05:34] local.INFO: AMRAP row processing {"managerId":88,"index":"3","exercise":"Bike erg","workout_library_id":21} 
[2026-04-15 03:05:34] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `amrap` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (88, 21, 35, m, 0, ?, 2026-04-15 03:05:34, 2026-04-15 03:05:34)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `amrap` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (88, 21, 35, m, 0, ?, 2026-04-15 03:05:34, 2026-04-15 03:05:34)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `am...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `am...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `am...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `am...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Amrap))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Amrap), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(382): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(106): App\\Http\\Controllers\\WorkoutManagerController->saveAmrap(Object(Illuminate\\Http\\Request), 88)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `am...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `am...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `am...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `am...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `am...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Amrap))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Amrap), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(382): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(106): App\\Http\\Controllers\\WorkoutManagerController->saveAmrap(Object(Illuminate\\Http\\Request), 88)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-15 03:05:54] local.INFO: AMRAP row processing {"managerId":89,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-15 03:05:54] local.INFO: Saved AMRAP row 1  
[2026-04-15 03:05:54] local.INFO: AMRAP row processing {"managerId":89,"index":"2","exercise":"Thruster","workout_library_id":149} 
[2026-04-15 03:05:54] local.INFO: Saved AMRAP row 2  
[2026-04-15 03:05:54] local.INFO: AMRAP row processing {"managerId":89,"index":"3","exercise":"Bike erg","workout_library_id":21} 
[2026-04-15 03:05:54] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `amrap` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (89, 21, 35, m, 0, ?, 2026-04-15 03:05:54, 2026-04-15 03:05:54)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `amrap` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (89, 21, 35, m, 0, ?, 2026-04-15 03:05:54, 2026-04-15 03:05:54)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `am...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `am...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `am...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `am...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Amrap))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Amrap), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(382): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(106): App\\Http\\Controllers\\WorkoutManagerController->saveAmrap(Object(Illuminate\\Http\\Request), 89)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `am...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `am...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `am...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `am...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `am...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Amrap))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Amrap), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(382): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(106): App\\Http\\Controllers\\WorkoutManagerController->saveAmrap(Object(Illuminate\\Http\\Request), 89)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-15 03:06:34] local.INFO: AMRAP row processing {"managerId":90,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-15 03:06:34] local.INFO: Saved AMRAP row 1  
[2026-04-15 03:06:34] local.INFO: AMRAP row processing {"managerId":90,"index":"2","exercise":"Thruster","workout_library_id":149} 
[2026-04-15 03:06:34] local.INFO: Saved AMRAP row 2  
[2026-04-15 03:06:34] local.INFO: AMRAP row processing {"managerId":90,"index":"3","exercise":"Bike erg","workout_library_id":21} 
[2026-04-15 03:06:34] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `amrap` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (90, 21, 35, m, 0, ?, 2026-04-15 03:06:34, 2026-04-15 03:06:34)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `amrap` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (90, 21, 35, m, 0, ?, 2026-04-15 03:06:34, 2026-04-15 03:06:34)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `am...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `am...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `am...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `am...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Amrap))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Amrap), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(382): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(106): App\\Http\\Controllers\\WorkoutManagerController->saveAmrap(Object(Illuminate\\Http\\Request), 90)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `am...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `am...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `am...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `am...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `am...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Amrap))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Amrap), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(382): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(106): App\\Http\\Controllers\\WorkoutManagerController->saveAmrap(Object(Illuminate\\Http\\Request), 90)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-15 03:07:27] local.INFO: AMRAP row processing {"managerId":91,"index":"1","exercise":"DB row","workout_library_id":25} 
[2026-04-15 03:07:27] local.INFO: Saved AMRAP row 1  
[2026-04-15 03:07:27] local.INFO: AMRAP row processing {"managerId":91,"index":"2","exercise":"Banded row","workout_library_id":33} 
[2026-04-15 03:07:27] local.INFO: Saved AMRAP row 2  
[2026-04-15 03:07:36] local.INFO: Tab value: all  
[2026-04-15 03:07:36] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:07:36] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:36] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:36] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:36] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:36] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:36] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:36] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:36] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:36] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:36] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:36] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:36] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:37] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:37] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:37] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:37] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:37] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:37] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:55] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:55] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:55] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:55] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:55] local.INFO: Saved type row conditioning  
[2026-04-15 03:07:59] local.INFO: assignWorkoutToClass:  {"workout_id":90,"class_id":289,"type":"workout_manager","action":"assign","date":"15/04/26 Wednesday"} 
[2026-04-15 03:08:00] local.INFO: Saved type row conditioning  
[2026-04-15 03:08:00] local.INFO: Saved type row conditioning  
[2026-04-15 03:08:00] local.INFO: Saved type row conditioning  
[2026-04-15 03:08:00] local.INFO: Saved type row conditioning  
[2026-04-15 03:08:00] local.INFO: Saved type row conditioning  
[2026-04-15 03:08:00] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[81,83,85,90],"types":["strength","conditioning"]} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90]} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[90],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":90,"relation":"amraps","format_row_id":32,"workout_libraries_id":16,"available_test_library_ids":[17,118]} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":90,"relation":"amraps","format_row_id":33,"workout_libraries_id":149,"available_test_library_ids":[17,118]} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-15 03:08:01] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":90,"workout_format_type":"amrap","workout_format_id":32,"class_id":289,"round_entries":[]} 
[2026-04-15 03:08:01] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-15 03:08:01] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":90,"workout_format_type":"amrap","workout_format_id":33,"class_id":289,"round_entries":[]} 
[2026-04-15 03:08:01] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-15 03:08:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":32,"workout_manager_id":90,"workout_libraries_id":16,"training_load":10,"unit_type":"BW","gender":null,"reps":1,"created_at":"2026-04-15T03:06:34.000000Z","updated_at":"2026-04-15T03:06:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:08:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":33,"workout_manager_id":90,"workout_libraries_id":149,"training_load":50,"unit_type":"Kg","gender":"Male","reps":6,"created_at":"2026-04-15T03:06:34.000000Z","updated_at":"2026-04-15T03:06:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:08:01] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:08:01] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:08:01] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[81,83,85,90],"types":["strength","conditioning"]} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90]} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[90],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":90,"relation":"amraps","format_row_id":32,"workout_libraries_id":16,"available_test_library_ids":[17,118]} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":90,"relation":"amraps","format_row_id":33,"workout_libraries_id":149,"available_test_library_ids":[17,118]} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-15 03:08:03] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":90,"workout_format_type":"amrap","workout_format_id":32,"class_id":289,"round_entries":[]} 
[2026-04-15 03:08:03] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-15 03:08:03] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":90,"workout_format_type":"amrap","workout_format_id":33,"class_id":289,"round_entries":[]} 
[2026-04-15 03:08:03] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-15 03:08:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":32,"workout_manager_id":90,"workout_libraries_id":16,"training_load":10,"unit_type":"BW","gender":null,"reps":1,"created_at":"2026-04-15T03:06:34.000000Z","updated_at":"2026-04-15T03:06:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:08:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":33,"workout_manager_id":90,"workout_libraries_id":149,"training_load":50,"unit_type":"Kg","gender":"Male","reps":6,"created_at":"2026-04-15T03:06:34.000000Z","updated_at":"2026-04-15T03:06:34.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:08:03] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:08:03] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:08:03] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:08:04] local.INFO: Saved type row conditioning  
[2026-04-15 03:08:04] local.INFO: Saved type row conditioning  
[2026-04-15 03:08:04] local.INFO: Saved type row conditioning  
[2026-04-15 03:08:04] local.INFO: Saved type row conditioning  
[2026-04-15 03:08:44] local.INFO: storeconditioningdaily function called.  
[2026-04-15 03:08:44] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 03:08:44] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":90,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":32,"reps":1,"round_number":"1/1","date":"15/04/26 Wednesday","class_Id":289}]} 
[2026-04-15 03:08:44] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:08:44] local.INFO: New conditioning record created {"workout_manager_id":90} 
[2026-04-15 03:08:45] local.INFO: storeconditioningdaily function called.  
[2026-04-15 03:08:45] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 03:08:45] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":90,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":33,"reps":5,"round_number":"1/1","date":"15/04/26 Wednesday","class_Id":289}]} 
[2026-04-15 03:08:45] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:08:45] local.INFO: New conditioning record created {"workout_manager_id":90} 
[2026-04-15 03:09:06] local.INFO: Saved type row conditioning  
[2026-04-15 03:09:06] local.INFO: Saved type row conditioning  
[2026-04-15 03:09:06] local.INFO: Saved type row conditioning  
[2026-04-15 03:09:09] local.INFO: Saved type row conditioning  
[2026-04-15 03:09:09] local.INFO: Saved type row conditioning  
[2026-04-15 03:09:11] local.INFO: Saved type row conditioning  
[2026-04-15 03:15:46] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:15:46] local.INFO: Tab value: all  
[2026-04-15 03:15:47] local.INFO: Saved type row conditioning  
[2026-04-15 03:15:47] local.INFO: Saved type row conditioning  
[2026-04-15 03:15:47] local.INFO: Saved type row conditioning  
[2026-04-15 03:15:50] local.INFO: assignWorkoutToClass:  {"workout_id":92,"class_id":289,"type":"workout_manager","action":"assign","date":"15/04/26 Wednesday"} 
[2026-04-15 03:15:51] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:15:51] local.INFO: Saved type row conditioning  
[2026-04-15 03:16:06] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[81,83,85,90,92],"types":["strength","conditioning"]} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92]} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[92],"types":["Conditioning"],"formats":["emom"]} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":92,"relation":"emoms","format_row_id":15,"workout_libraries_id":144,"available_test_library_ids":[17,118]} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":0},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:16:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":92,"workout_libraries_id":144,"training_load":100,"unit_type":"Kg","gender":"Male","reps":4,"created_at":"2026-04-15T03:15:42.000000Z","updated_at":"2026-04-15T03:15:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:16:06] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:16:06] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:16:06] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[81,83,85,90,92],"types":["strength","conditioning"]} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92]} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[92],"types":["Conditioning"],"formats":["emom"]} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":92,"relation":"emoms","format_row_id":15,"workout_libraries_id":144,"available_test_library_ids":[17,118]} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":0},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:16:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"workout_manager_id":92,"workout_libraries_id":144,"training_load":100,"unit_type":"Kg","gender":"Male","reps":4,"created_at":"2026-04-15T03:15:42.000000Z","updated_at":"2026-04-15T03:15:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:16:08] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:16:08] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:16:08] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:16:21] local.INFO: storeconditioningdaily function called.  
[2026-04-15 03:16:21] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 03:16:21] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":92,"workout_format_type":"emom","workout_format_id":15,"reps":4,"set_number":1,"round_number":null,"training_load":100,"exercise_time":"01:00","date":"15/04/26 Wednesday","class_Id":289}]} 
[2026-04-15 03:16:21] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:16:21] local.INFO: New conditioning record created {"workout_manager_id":92} 
[2026-04-15 03:26:33] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:26:33] local.INFO: Tab value: all  
[2026-04-15 03:26:33] local.INFO: Saved type row conditioning  
[2026-04-15 03:26:34] local.INFO: Saved type row conditioning  
[2026-04-15 03:26:34] local.INFO: Saved type row conditioning  
[2026-04-15 03:26:37] local.INFO: assignWorkoutToClass:  {"workout_id":93,"class_id":289,"type":"workout_manager","action":"assign","date":"15/04/26 Wednesday"} 
[2026-04-15 03:26:37] local.INFO: Saved type row conditioning  
[2026-04-15 03:26:37] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[81,83,85,90,92,93],"types":["strength","conditioning"]} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92,93]} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[93],"types":["Conditioning"],"formats":["intervals"]} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":13,"workout_libraries_id":21,"available_test_library_ids":[17,118]} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":93,"relation":"intervals","format_row_id":14,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":14,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":14,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":15,"workout_libraries_id":23,"available_test_library_ids":[17,118]} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":16,"workout_libraries_id":28,"available_test_library_ids":[17,118]} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":17,"workout_libraries_id":32,"available_test_library_ids":[17,118]} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":21,"training_load":null,"unit_type":"Cal","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":14,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"stationumber":2,"workout_manager_id":93,"workout_libraries_id":23,"training_load":null,"unit_type":"BW","gender":null,"work":"00:02:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"stationumber":2,"workout_manager_id":93,"workout_libraries_id":28,"training_load":null,"unit_type":"BW","gender":null,"work":"00:02:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:26:45] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"stationumber":3,"workout_manager_id":93,"workout_libraries_id":32,"training_load":80,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:02:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:26:45] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:26:45] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:26:45] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[81,83,85,90,92,93],"types":["strength","conditioning"]} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92,93]} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[93],"types":["Conditioning"],"formats":["intervals"]} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":13,"workout_libraries_id":21,"available_test_library_ids":[17,118]} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":93,"relation":"intervals","format_row_id":14,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":14,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":14,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":15,"workout_libraries_id":23,"available_test_library_ids":[17,118]} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":16,"workout_libraries_id":28,"available_test_library_ids":[17,118]} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":17,"workout_libraries_id":32,"available_test_library_ids":[17,118]} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":21,"training_load":null,"unit_type":"Cal","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":14,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"stationumber":2,"workout_manager_id":93,"workout_libraries_id":23,"training_load":null,"unit_type":"BW","gender":null,"work":"00:02:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"stationumber":2,"workout_manager_id":93,"workout_libraries_id":28,"training_load":null,"unit_type":"BW","gender":null,"work":"00:02:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:26:48] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"stationumber":3,"workout_manager_id":93,"workout_libraries_id":32,"training_load":80,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:02:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:26:48] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:26:48] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:26:48] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[81,83,85,90,92,93],"types":["strength","conditioning"]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92,93]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[93],"types":["Conditioning"],"formats":["intervals"]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":13,"workout_libraries_id":21,"available_test_library_ids":[17,118]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":93,"relation":"intervals","format_row_id":14,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":14,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":14,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":15,"workout_libraries_id":23,"available_test_library_ids":[17,118]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":16,"workout_libraries_id":28,"available_test_library_ids":[17,118]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":17,"workout_libraries_id":32,"available_test_library_ids":[17,118]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":21,"training_load":null,"unit_type":"Cal","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":14,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"stationumber":2,"workout_manager_id":93,"workout_libraries_id":23,"training_load":null,"unit_type":"BW","gender":null,"work":"00:02:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"stationumber":2,"workout_manager_id":93,"workout_libraries_id":28,"training_load":null,"unit_type":"BW","gender":null,"work":"00:02:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"stationumber":3,"workout_manager_id":93,"workout_libraries_id":32,"training_load":80,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:02:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:30:02] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:30:02] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:30:02] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[81,83,85,90,92,93],"types":["strength","conditioning"]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92,93]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[93],"types":["Conditioning"],"formats":["intervals"]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:30:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":13,"workout_libraries_id":21,"available_test_library_ids":[17,118]} 
[2026-04-15 03:30:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":93,"relation":"intervals","format_row_id":14,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":14,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":14,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:30:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":15,"workout_libraries_id":23,"available_test_library_ids":[17,118]} 
[2026-04-15 03:30:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":16,"workout_libraries_id":28,"available_test_library_ids":[17,118]} 
[2026-04-15 03:30:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":17,"workout_libraries_id":32,"available_test_library_ids":[17,118]} 
[2026-04-15 03:30:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:30:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":21,"training_load":null,"unit_type":"Cal","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 03:30:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":14,"format_relation":"intervals","format_table":"intervals","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:30:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"stationumber":2,"workout_manager_id":93,"workout_libraries_id":23,"training_load":null,"unit_type":"BW","gender":null,"work":"00:02:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 03:30:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"stationumber":2,"workout_manager_id":93,"workout_libraries_id":28,"training_load":null,"unit_type":"BW","gender":null,"work":"00:02:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:30:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"stationumber":3,"workout_manager_id":93,"workout_libraries_id":32,"training_load":80,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:02:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:30:03] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:30:03] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:30:03] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:30:04] local.INFO: storeconditioningdaily function called.  
[2026-04-15 03:30:04] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 03:30:04] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":93,"workout_format_type":"intervals","workout_format_id":13,"reps":0,"date":"15/04/26 Wednesday","is_completed":1,"status":"completed","set_number":1,"class_Id":289},{"workout_manager_id":93,"workout_format_type":"intervals","workout_format_id":14,"reps":0,"date":"15/04/26 Wednesday","is_completed":1,"status":"completed","set_number":1,"class_Id":289},{"workout_manager_id":93,"workout_format_type":"intervals","workout_format_id":15,"reps":0,"date":"15/04/26 Wednesday","is_completed":1,"status":"completed","set_number":2,"class_Id":289},{"workout_manager_id":93,"workout_format_type":"intervals","workout_format_id":16,"reps":0,"date":"15/04/26 Wednesday","is_completed":1,"status":"completed","set_number":2,"class_Id":289},{"workout_manager_id":93,"workout_format_type":"intervals","workout_format_id":17,"reps":0,"date":"15/04/26 Wednesday","is_completed":1,"status":"completed","set_number":3,"class_Id":289}]} 
[2026-04-15 03:30:04] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:30:04] local.INFO: New conditioning record created {"workout_manager_id":93} 
[2026-04-15 03:30:04] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:30:04] local.INFO: New conditioning record created {"workout_manager_id":93} 
[2026-04-15 03:30:04] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:30:04] local.INFO: New conditioning record created {"workout_manager_id":93} 
[2026-04-15 03:30:04] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:30:04] local.INFO: New conditioning record created {"workout_manager_id":93} 
[2026-04-15 03:30:04] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:30:04] local.INFO: New conditioning record created {"workout_manager_id":93} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[81,83,85,90,92,93],"types":["strength","conditioning"]} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92,93]} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[93],"types":["Conditioning"],"formats":["intervals"]} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":13,"workout_libraries_id":21,"available_test_library_ids":[17,118]} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":93,"relation":"intervals","format_row_id":14,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":14,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":14,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":15,"workout_libraries_id":23,"available_test_library_ids":[17,118]} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":16,"workout_libraries_id":28,"available_test_library_ids":[17,118]} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":93,"relation":"intervals","format_row_id":17,"workout_libraries_id":32,"available_test_library_ids":[17,118]} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:30:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":13,"date_string":"15/04/26 Wednesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-04-15 03:30:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":14,"date_string":"15/04/26 Wednesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-04-15 03:30:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":15,"date_string":"15/04/26 Wednesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-04-15 03:30:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":16,"date_string":"15/04/26 Wednesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-04-15 03:30:05] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":17,"date_string":"15/04/26 Wednesday","dailyReps":0,"targetReps":0,"isCompleted":true} 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":21,"training_load":null,"unit_type":"Cal","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":14,"stationumber":1,"workout_manager_id":93,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","gender":null,"work":"00:01:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":14,"format_relation":"intervals","format_table":"intervals","is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":15,"stationumber":2,"workout_manager_id":93,"workout_libraries_id":23,"training_load":null,"unit_type":"BW","gender":null,"work":"00:02:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"stationumber":2,"workout_manager_id":93,"workout_libraries_id":28,"training_load":null,"unit_type":"BW","gender":null,"work":"00:02:00","rest":"00:01:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:30:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"stationumber":3,"workout_manager_id":93,"workout_libraries_id":32,"training_load":80,"unit_type":"%","gender":null,"work":"00:01:00","rest":"00:02:00","created_at":"2026-04-15T03:26:30.000000Z","updated_at":"2026-04-15T03:26:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":1,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:30:05] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:30:05] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:30:05] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:32:04] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:32:04] local.INFO: Tab value: all  
[2026-04-15 03:32:05] local.INFO: Saved type row conditioning  
[2026-04-15 03:32:05] local.INFO: Saved type row conditioning  
[2026-04-15 03:32:06] local.INFO: Saved type row conditioning  
[2026-04-15 03:32:08] local.INFO: assignWorkoutToClass:  {"workout_id":94,"class_id":289,"type":"workout_manager","action":"assign","date":"15/04/26 Wednesday"} 
[2026-04-15 03:32:08] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:32:08] local.INFO: Saved type row conditioning  
[2026-04-15 03:32:14] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[81,83,85,90,92,93,94],"types":["strength","conditioning"]} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92,93,94]} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[94],"types":["Conditioning"],"formats":["pyramid"]} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":3,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":94,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":3,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":4,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":94,"workout_libraries_id":17,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":4,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":5,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":5,"workout_manager_id":94,"workout_libraries_id":17,"training_load":90,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":5,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":6,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":6,"workout_manager_id":94,"workout_libraries_id":17,"training_load":95,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":6,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":7,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":7,"workout_manager_id":94,"workout_libraries_id":17,"training_load":90,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":7,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":8,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":94,"workout_libraries_id":17,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":8,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":9,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":94,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":9,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":7,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":0}}} 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":94,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":3,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":94,"workout_libraries_id":17,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":4,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":94,"workout_libraries_id":17,"training_load":90,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":5,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":94,"workout_libraries_id":17,"training_load":95,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":6,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":94,"workout_libraries_id":17,"training_load":90,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":7,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":94,"workout_libraries_id":17,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":8,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":94,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":9,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:14] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:32:14] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:32:14] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[81,83,85,90,92,93,94],"types":["strength","conditioning"]} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92,93,94]} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[94],"types":["Conditioning"],"formats":["pyramid"]} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":3,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":3,"workout_manager_id":94,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":3,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":4,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":4,"workout_manager_id":94,"workout_libraries_id":17,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":4,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":5,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":5,"workout_manager_id":94,"workout_libraries_id":17,"training_load":90,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":5,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":6,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":6,"workout_manager_id":94,"workout_libraries_id":17,"training_load":95,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":6,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":7,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":7,"workout_manager_id":94,"workout_libraries_id":17,"training_load":90,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":7,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":8,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":8,"workout_manager_id":94,"workout_libraries_id":17,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":8,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":94,"relation":"pyramids","format_row_id":9,"workout_libraries_id":17,"attached_test_id":72,"attached_test_weight":160.0,"attached_unit_type":"kg","row_data":{"id":9,"workout_manager_id":94,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":9,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":7,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":0}}} 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":94,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":3,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":94,"workout_libraries_id":17,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":4,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":94,"workout_libraries_id":17,"training_load":90,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":5,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":94,"workout_libraries_id":17,"training_load":95,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":6,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":2,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":94,"workout_libraries_id":17,"training_load":90,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":7,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"workout_manager_id":94,"workout_libraries_id":17,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":8,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"workout_manager_id":94,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-15T03:32:01.000000Z","updated_at":"2026-04-15T03:32:01.000000Z","test_weight":160.0,"test_unit_type":"kg","test_id":72,"test_created_at":"2026-04-15 01:38:39","format_row_id":9,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:32:16] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:32:16] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:32:16] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:32:58] local.INFO: storeconditioningdaily function called.  
[2026-04-15 03:32:58] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 03:32:58] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":3,"reps":5,"weight":18,"date":"15/04/26 Wednesday","set_number":1,"class_Id":289},{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":4,"reps":4,"weight":20.5,"date":"15/04/26 Wednesday","set_number":2,"class_Id":289},{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":5,"reps":3,"weight":23,"date":"15/04/26 Wednesday","set_number":3,"class_Id":289},{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":6,"reps":2,"weight":25.75,"date":"15/04/26 Wednesday","set_number":4,"class_Id":289},{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":7,"reps":3,"weight":26,"date":"15/04/26 Wednesday","set_number":5,"class_Id":289},{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":8,"reps":4,"weight":25.75,"date":"15/04/26 Wednesday","set_number":6,"class_Id":289},{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":9,"reps":5,"weight":25.5,"date":"15/04/26 Wednesday","set_number":7,"class_Id":289}]} 
[2026-04-15 03:32:58] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:32:58] local.INFO: New conditioning record created {"workout_manager_id":94} 
[2026-04-15 03:32:58] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:32:58] local.INFO: New conditioning record created {"workout_manager_id":94} 
[2026-04-15 03:32:58] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:32:58] local.INFO: New conditioning record created {"workout_manager_id":94} 
[2026-04-15 03:32:58] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:32:58] local.INFO: New conditioning record created {"workout_manager_id":94} 
[2026-04-15 03:32:58] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:32:58] local.INFO: New conditioning record created {"workout_manager_id":94} 
[2026-04-15 03:32:58] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:32:58] local.INFO: New conditioning record created {"workout_manager_id":94} 
[2026-04-15 03:32:58] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:32:58] local.INFO: New conditioning record created {"workout_manager_id":94} 
[2026-04-15 03:33:00] local.INFO: storeconditioningdaily function called.  
[2026-04-15 03:33:00] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 03:33:00] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":3,"reps":5,"weight":18,"date":"15/04/26 Wednesday","set_number":1,"class_Id":289},{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":4,"reps":4,"weight":20.5,"date":"15/04/26 Wednesday","set_number":2,"class_Id":289},{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":5,"reps":3,"weight":23,"date":"15/04/26 Wednesday","set_number":3,"class_Id":289},{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":6,"reps":2,"weight":25.75,"date":"15/04/26 Wednesday","set_number":4,"class_Id":289},{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":7,"reps":3,"weight":26,"date":"15/04/26 Wednesday","set_number":5,"class_Id":289},{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":8,"reps":4,"weight":25.75,"date":"15/04/26 Wednesday","set_number":6,"class_Id":289},{"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":9,"reps":5,"weight":25.5,"date":"15/04/26 Wednesday","set_number":7,"class_Id":289}]} 
[2026-04-15 03:33:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":71,"class_id":289,"round_number":null,"member_id":9,"conditioning_id":null,"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":3,"reps":5,"weight":null,"date":"15/04/26 Wednesday","created_at":"2026-04-15T03:32:58.000000Z","updated_at":"2026-04-15T03:32:58.000000Z","exercise_time":null}} 
[2026-04-15 03:33:00] local.INFO: Conditioning updated {"workout_manager_id":94} 
[2026-04-15 03:33:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":72,"class_id":289,"round_number":null,"member_id":9,"conditioning_id":null,"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":4,"reps":4,"weight":null,"date":"15/04/26 Wednesday","created_at":"2026-04-15T03:32:58.000000Z","updated_at":"2026-04-15T03:32:58.000000Z","exercise_time":null}} 
[2026-04-15 03:33:00] local.INFO: Conditioning updated {"workout_manager_id":94} 
[2026-04-15 03:33:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":73,"class_id":289,"round_number":null,"member_id":9,"conditioning_id":null,"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":5,"reps":3,"weight":null,"date":"15/04/26 Wednesday","created_at":"2026-04-15T03:32:58.000000Z","updated_at":"2026-04-15T03:32:58.000000Z","exercise_time":null}} 
[2026-04-15 03:33:00] local.INFO: Conditioning updated {"workout_manager_id":94} 
[2026-04-15 03:33:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":74,"class_id":289,"round_number":null,"member_id":9,"conditioning_id":null,"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":6,"reps":2,"weight":null,"date":"15/04/26 Wednesday","created_at":"2026-04-15T03:32:58.000000Z","updated_at":"2026-04-15T03:32:58.000000Z","exercise_time":null}} 
[2026-04-15 03:33:00] local.INFO: Conditioning updated {"workout_manager_id":94} 
[2026-04-15 03:33:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":75,"class_id":289,"round_number":null,"member_id":9,"conditioning_id":null,"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":7,"reps":3,"weight":null,"date":"15/04/26 Wednesday","created_at":"2026-04-15T03:32:58.000000Z","updated_at":"2026-04-15T03:32:58.000000Z","exercise_time":null}} 
[2026-04-15 03:33:00] local.INFO: Conditioning updated {"workout_manager_id":94} 
[2026-04-15 03:33:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":76,"class_id":289,"round_number":null,"member_id":9,"conditioning_id":null,"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":8,"reps":4,"weight":null,"date":"15/04/26 Wednesday","created_at":"2026-04-15T03:32:58.000000Z","updated_at":"2026-04-15T03:32:58.000000Z","exercise_time":null}} 
[2026-04-15 03:33:00] local.INFO: Conditioning updated {"workout_manager_id":94} 
[2026-04-15 03:33:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":77,"class_id":289,"round_number":null,"member_id":9,"conditioning_id":null,"workout_manager_id":94,"workout_format_type":"pyramid","workout_format_id":9,"reps":5,"weight":null,"date":"15/04/26 Wednesday","created_at":"2026-04-15T03:32:58.000000Z","updated_at":"2026-04-15T03:32:58.000000Z","exercise_time":null}} 
[2026-04-15 03:33:00] local.INFO: Conditioning updated {"workout_manager_id":94} 
[2026-04-15 03:38:14] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:38:14] local.INFO: Tab value: all  
[2026-04-15 03:38:14] local.INFO: Saved type row conditioning  
[2026-04-15 03:38:15] local.INFO: Saved type row conditioning  
[2026-04-15 03:38:15] local.INFO: Saved type row conditioning  
[2026-04-15 03:38:23] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[81,83,85,90,92,93,94],"types":["strength","conditioning"]} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92,93,94]} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[94],"types":["Conditioning"],"formats":["circuit"]} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"circuits","format_row_id":6,"workout_libraries_id":40,"available_test_library_ids":[17,118]} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"circuits","format_row_id":7,"workout_libraries_id":21,"available_test_library_ids":[17,118]} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"circuits","format_row_id":8,"workout_libraries_id":28,"available_test_library_ids":[17,118]} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"circuits","format_row_id":9,"workout_libraries_id":51,"available_test_library_ids":[17,118]} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"circuits","format_row_id":10,"workout_libraries_id":144,"available_test_library_ids":[17,118]} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"circuits","format_row_id":11,"workout_libraries_id":71,"available_test_library_ids":[17,118]} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":6,"matched":0,"not_matched":6,"empty":0},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"stationumber":1,"workout_manager_id":94,"workout_libraries_id":40,"training_load":60,"unit_type":"Kg","gender":"Male","reps":4,"created_at":"2026-04-15T03:38:11.000000Z","updated_at":"2026-04-15T03:38:11.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"stationumber":1,"workout_manager_id":94,"workout_libraries_id":21,"training_load":60,"unit_type":"Cal","gender":null,"reps":0,"created_at":"2026-04-15T03:38:11.000000Z","updated_at":"2026-04-15T03:38:11.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"stationumber":2,"workout_manager_id":94,"workout_libraries_id":28,"training_load":30,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-04-15T03:38:11.000000Z","updated_at":"2026-04-15T03:38:11.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":2,"workout_manager_id":94,"workout_libraries_id":51,"training_load":null,"unit_type":"BW","gender":null,"reps":6,"created_at":"2026-04-15T03:38:11.000000Z","updated_at":"2026-04-15T03:38:11.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":3,"workout_manager_id":94,"workout_libraries_id":144,"training_load":80,"unit_type":"Kg","gender":"Male","reps":4,"created_at":"2026-04-15T03:38:11.000000Z","updated_at":"2026-04-15T03:38:11.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:38:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":3,"workout_manager_id":94,"workout_libraries_id":71,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-15T03:38:11.000000Z","updated_at":"2026-04-15T03:38:11.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:38:23] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:38:23] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:38:23] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[81,83,85,90,92,93,94],"types":["strength","conditioning"]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92,93,94]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[94],"types":["Conditioning"],"formats":["circuit"]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"circuits","format_row_id":6,"workout_libraries_id":40,"available_test_library_ids":[17,118]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"circuits","format_row_id":7,"workout_libraries_id":21,"available_test_library_ids":[17,118]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"circuits","format_row_id":8,"workout_libraries_id":28,"available_test_library_ids":[17,118]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"circuits","format_row_id":9,"workout_libraries_id":51,"available_test_library_ids":[17,118]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"circuits","format_row_id":10,"workout_libraries_id":144,"available_test_library_ids":[17,118]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"circuits","format_row_id":11,"workout_libraries_id":71,"available_test_library_ids":[17,118]} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":6,"matched":0,"not_matched":6,"empty":0},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"stationumber":1,"workout_manager_id":94,"workout_libraries_id":40,"training_load":60,"unit_type":"Kg","gender":"Male","reps":4,"created_at":"2026-04-15T03:38:11.000000Z","updated_at":"2026-04-15T03:38:11.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"stationumber":1,"workout_manager_id":94,"workout_libraries_id":21,"training_load":60,"unit_type":"Cal","gender":null,"reps":0,"created_at":"2026-04-15T03:38:11.000000Z","updated_at":"2026-04-15T03:38:11.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"stationumber":2,"workout_manager_id":94,"workout_libraries_id":28,"training_load":30,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-04-15T03:38:11.000000Z","updated_at":"2026-04-15T03:38:11.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":2,"workout_manager_id":94,"workout_libraries_id":51,"training_load":null,"unit_type":"BW","gender":null,"reps":6,"created_at":"2026-04-15T03:38:11.000000Z","updated_at":"2026-04-15T03:38:11.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":6,"workout_library":{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":3,"workout_manager_id":94,"workout_libraries_id":144,"training_load":80,"unit_type":"Kg","gender":"Male","reps":4,"created_at":"2026-04-15T03:38:11.000000Z","updated_at":"2026-04-15T03:38:11.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:38:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":3,"workout_manager_id":94,"workout_libraries_id":71,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-15T03:38:11.000000Z","updated_at":"2026-04-15T03:38:11.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:38:25] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:38:25] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:38:25] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:38:39] local.INFO: storeconditioningdaily function called.  
[2026-04-15 03:38:39] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 03:38:39] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":94,"workout_format_type":"circuit","workout_format_id":6,"reps":4,"date":"15/04/26 Wednesday","class_Id":289}]} 
[2026-04-15 03:38:39] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:38:39] local.INFO: New conditioning record created {"workout_manager_id":94} 
[2026-04-15 03:38:48] local.INFO: storeconditioningdaily function called.  
[2026-04-15 03:38:48] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 03:38:48] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":94,"workout_format_type":"circuit","workout_format_id":10,"reps":4,"date":"15/04/26 Wednesday","class_Id":289}]} 
[2026-04-15 03:38:48] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:38:48] local.INFO: New conditioning record created {"workout_manager_id":94} 
[2026-04-15 03:38:49] local.INFO: storeconditioningdaily function called.  
[2026-04-15 03:38:49] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 03:38:49] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":94,"workout_format_type":"circuit","workout_format_id":11,"reps":3,"date":"15/04/26 Wednesday","class_Id":289}]} 
[2026-04-15 03:38:49] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:38:49] local.INFO: New conditioning record created {"workout_manager_id":94} 
[2026-04-15 03:38:57] local.INFO: storeconditioningdaily function called.  
[2026-04-15 03:38:57] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 03:38:57] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":94,"workout_format_type":"circuit","workout_format_id":8,"reps":6,"date":"15/04/26 Wednesday","class_Id":289}]} 
[2026-04-15 03:38:57] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:38:57] local.INFO: New conditioning record created {"workout_manager_id":94} 
[2026-04-15 03:39:00] local.INFO: storeconditioningdaily function called.  
[2026-04-15 03:39:00] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-15 03:39:00] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":94,"workout_format_type":"circuit","workout_format_id":9,"reps":6,"date":"15/04/26 Wednesday","class_Id":289}]} 
[2026-04-15 03:39:00] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-15 03:39:00] local.INFO: New conditioning record created {"workout_manager_id":94} 
[2026-04-15 03:42:53] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:42:53] local.INFO: Tab value: all  
[2026-04-15 03:42:54] local.INFO: Saved type row conditioning  
[2026-04-15 03:42:54] local.INFO: Saved type row conditioning  
[2026-04-15 03:42:54] local.INFO: Saved type row conditioning  
[2026-04-15 03:43:01] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[81,83,85,90,92,93,94],"types":["strength","conditioning"]} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92,93,94]} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[94],"types":["Conditioning"],"formats":["for-time"]} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"forTimes","format_row_id":34,"workout_libraries_id":16,"available_test_library_ids":[17,118]} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":1,"matched":0,"not_matched":1,"empty":0},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:43:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":94,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-15T03:42:49.000000Z","updated_at":"2026-04-15T03:42:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:43:01] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:43:01] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:43:01] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[72,73]} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":72,"weight":160.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 01:38:39"},"118":{"test_id":73,"weight":100.0,"unit_type":"kg","date":"15/04/26 Wednesday","test_created_at":"2026-04-15 02:44:19"}}} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":289,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[81,83,85,90,92,93,94],"types":["strength","conditioning"]} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[81,83,85,90,92,93,94]} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[94],"types":["Conditioning"],"formats":["for-time"]} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":94,"relation":"forTimes","format_row_id":34,"workout_libraries_id":16,"available_test_library_ids":[17,118]} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":1,"matched":0,"not_matched":1,"empty":0},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 03:43:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":34,"workout_manager_id":94,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","gender":null,"reps":10,"created_at":"2026-04-15T03:42:49.000000Z","updated_at":"2026-04-15T03:42:49.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":10,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 03:43:03] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:43:03] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:43:03] local.INFO: Tests retrieved {"count":2,"tests":[{"id":72,"workout_manager_id":82,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/04/26 Wednesday","weight":160.0,"unit_type":"kg","created_at":"2026-04-15T01:38:39.000000Z","updated_at":"2026-04-15T01:38:39.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":73,"workout_manager_id":84,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"15/04/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-04-15T02:44:19.000000Z","updated_at":"2026-04-15T02:44:19.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-15 03:50:42] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:50:42] local.INFO: Tab value: all  
[2026-04-15 03:50:42] local.INFO: Saved type row conditioning  
[2026-04-15 03:50:43] local.INFO: Saved type row conditioning  
[2026-04-15 03:50:43] local.INFO: Saved type row conditioning  
[2026-04-15 03:52:18] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 03:52:18] local.INFO: Tab value: all  
[2026-04-15 03:52:19] local.INFO: Saved type row conditioning  
[2026-04-15 03:52:19] local.INFO: Saved type row conditioning  
[2026-04-15 03:52:19] local.INFO: Saved type row conditioning  
[2026-04-15 04:16:20] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 04:16:20] local.INFO: Tab value: all  
[2026-04-15 04:16:21] local.INFO: Saved type row conditioning  
[2026-04-15 04:16:21] local.INFO: Saved type row conditioning  
[2026-04-15 04:16:22] local.INFO: Saved type row conditioning  
[2026-04-15 04:16:47] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 04:16:47] local.INFO: Tab value: all  
[2026-04-15 04:16:48] local.INFO: Saved type row conditioning  
[2026-04-15 04:16:48] local.INFO: Saved type row conditioning  
[2026-04-15 04:16:49] local.INFO: Saved type row conditioning  
[2026-04-15 04:17:01] local.INFO: Day received: {"day":"14/04/26 Tuesday"} 
[2026-04-15 04:17:01] local.INFO: Saved type row strength  
[2026-04-15 04:17:02] local.INFO: Day received: {"day":"13/04/26 Monday"} 
[2026-04-15 04:17:02] local.INFO: Saved type row conditioning  
[2026-04-15 04:17:02] local.INFO: Saved type row conditioning  
[2026-04-15 04:17:02] local.INFO: Saved type row strength  
[2026-04-15 04:17:17] local.INFO: Day received: {"day":"14/04/26 Tuesday"} 
[2026-04-15 04:17:17] local.INFO: Saved type row strength  
[2026-04-15 04:17:18] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 04:17:18] local.INFO: Saved type row conditioning  
[2026-04-15 05:20:24] local.INFO: Tab value: all  
[2026-04-15 06:07:13] local.INFO: Tab value: all  
[2026-04-15 06:07:15] local.INFO: Saved type row conditioning  
[2026-04-15 11:11:56] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:11:56] local.INFO: Tab value: all  
[2026-04-15 11:11:56] local.INFO: Saved type row conditioning  
[2026-04-15 11:11:56] local.INFO: Saved type row conditioning  
[2026-04-15 11:11:57] local.INFO: Saved type row conditioning  
[2026-04-15 11:12:23] local.INFO: AMRAP row processing {"managerId":95,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-15 11:12:23] local.INFO: Saved AMRAP row 1  
[2026-04-15 11:12:28] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:12:28] local.INFO: Tab value: all  
[2026-04-15 11:12:29] local.INFO: Saved type row warmup  
[2026-04-15 11:12:29] local.INFO: Saved type row conditioning  
[2026-04-15 11:12:30] local.INFO: Saved type row warmup  
[2026-04-15 11:12:30] local.INFO: Saved type row conditioning  
[2026-04-15 11:12:30] local.INFO: Saved type row warmup  
[2026-04-15 11:12:30] local.INFO: Saved type row conditioning  
[2026-04-15 11:12:34] local.INFO: assignWorkoutToClass:  {"workout_id":95,"class_id":289,"type":"workout_manager","action":"assign","date":"15/04/26 Wednesday"} 
[2026-04-15 11:12:34] local.INFO: Saved type row warmup  
[2026-04-15 11:12:34] local.INFO: Saved type row conditioning  
[2026-04-15 11:12:34] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:12:48] local.INFO: Saved type row conditioning  
[2026-04-15 11:12:58] local.INFO: AMRAP row processing {"managerId":96,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-15 11:12:58] local.INFO: Saved AMRAP row 1  
[2026-04-15 11:13:02] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:13:02] local.INFO: Tab value: all  
[2026-04-15 11:13:02] local.INFO: Saved type row strength  
[2026-04-15 11:13:02] local.INFO: Saved type row conditioning  
[2026-04-15 11:13:03] local.INFO: Saved type row strength  
[2026-04-15 11:13:03] local.INFO: Saved type row conditioning  
[2026-04-15 11:13:03] local.INFO: Saved type row strength  
[2026-04-15 11:13:03] local.INFO: Saved type row conditioning  
[2026-04-15 11:13:06] local.INFO: assignWorkoutToClass:  {"workout_id":96,"class_id":289,"type":"workout_manager","action":"assign","date":"15/04/26 Wednesday"} 
[2026-04-15 11:13:07] local.INFO: Saved type row strength  
[2026-04-15 11:13:07] local.INFO: Saved type row conditioning  
[2026-04-15 11:13:07] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:13:10] local.INFO: Saved type row conditioning  
[2026-04-15 11:24:58] local.INFO: Store Class Request Data: {"_token":"WIlgzBfkgdweOtxfUSL1BjQzmPHoFrcH2e919HA9","selectdatecla":"15/04/26 Wednesday","time":"00:00","duration":"1","spots":"20"} 
[2026-04-15 11:24:58] local.INFO: Creating single class. Date input: 15/04/26 Wednesday  
[2026-04-15 11:24:58] local.INFO: Parsed start date: 2026-04-15  
[2026-04-15 11:24:58] local.INFO: createClass helper called. Date: 15/04/26 Wednesday, Time: 00:00, Spots: 20  
[2026-04-15 11:24:58] local.INFO: Class created: 480  
[2026-04-15 11:24:58] local.INFO: Single class creation called successfully.  
[2026-04-15 11:25:06] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:25:06] local.INFO: Tab value: all  
[2026-04-15 11:25:08] local.INFO: Saved type row conditioning  
[2026-04-15 11:25:08] local.INFO: Saved type row conditioning  
[2026-04-15 11:25:09] local.INFO: Saved type row conditioning  
[2026-04-15 11:25:22] local.INFO: AMRAP row processing {"managerId":97,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-15 11:25:22] local.INFO: Saved AMRAP row 1  
[2026-04-15 11:25:25] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:25:25] local.INFO: Tab value: all  
[2026-04-15 11:25:26] local.INFO: Saved type row warmup  
[2026-04-15 11:25:26] local.INFO: Saved type row conditioning  
[2026-04-15 11:25:26] local.INFO: Saved type row warmup  
[2026-04-15 11:25:26] local.INFO: Saved type row conditioning  
[2026-04-15 11:25:26] local.INFO: Saved type row warmup  
[2026-04-15 11:25:26] local.INFO: Saved type row conditioning  
[2026-04-15 11:25:30] local.INFO: assignWorkoutToClass:  {"workout_id":97,"class_id":480,"type":"workout_manager","action":"assign","date":"15/04/26 Wednesday"} 
[2026-04-15 11:25:30] local.INFO: Saved type row warmup  
[2026-04-15 11:25:30] local.INFO: Saved type row conditioning  
[2026-04-15 11:25:30] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":480,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":480,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":480,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":480,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[97],"types":["warmup"]} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[97]} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[97],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":97,"relation":"amraps","format_row_id":38,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":1,"matched":0,"not_matched":1,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-15 11:26:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":97,"workout_format_type":"amrap","workout_format_id":38,"class_id":480,"round_entries":[]} 
[2026-04-15 11:26:01] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-15 11:26:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":97,"workout_libraries_id":16,"training_load":35,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-15T11:25:22.000000Z","updated_at":"2026-04-15T11:25:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 11:26:01] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:26:01] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:26:01] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-15 11:26:19] local.INFO: storewarmupdaily function called.  
[2026-04-15 11:26:19] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-15 11:26:19] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":97,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":38,"reps":1,"round_number":"1/3","date":"15/04/26 Wednesday","class_Id":480}]} 
[2026-04-15 11:26:19] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-15 11:26:19] local.INFO: New warm-up created {"workout_manager_id":97,"workout_format_type":"amrap","workout_format_id":38,"round_number":"1/3"} 
[2026-04-15 11:26:23] local.INFO: storewarmupdaily function called.  
[2026-04-15 11:26:23] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-15 11:26:23] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":97,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":38,"reps":1,"round_number":"2/3","date":"15/04/26 Wednesday","class_Id":480}]} 
[2026-04-15 11:26:23] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-15 11:26:23] local.INFO: New warm-up created {"workout_manager_id":97,"workout_format_type":"amrap","workout_format_id":38,"round_number":"2/3"} 
[2026-04-15 11:26:27] local.INFO: storewarmupdaily function called.  
[2026-04-15 11:26:27] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-15 11:26:27] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":97,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":38,"reps":1,"round_number":"3/3","date":"15/04/26 Wednesday","class_Id":480}]} 
[2026-04-15 11:26:27] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-15 11:26:27] local.INFO: New warm-up created {"workout_manager_id":97,"workout_format_type":"amrap","workout_format_id":38,"round_number":"3/3"} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":480,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":480,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":480,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":480,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[97],"types":["warmup"]} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[97]} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[97],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":97,"relation":"amraps","format_row_id":38,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":1,"matched":0,"not_matched":1,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-15 11:26:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":97,"workout_format_type":"amrap","workout_format_id":38,"class_id":480,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-15 11:26:31] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-15 11:26:31] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-15 11:26:31] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-15 11:26:31] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-15 11:26:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":97,"workout_libraries_id":16,"training_load":35,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-15T11:25:22.000000Z","updated_at":"2026-04-15T11:25:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 11:26:31] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:26:31] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:26:31] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":480,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/04/26 Wednesday","date_obj":"2026-04-15"} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":480,"date_string":"15/04/26 Wednesday","patterns":["15/04/26 Wednesday","15/04/26","15/04/2026","15/04/26 Wednesday","15/04/2026 Wednesday","Wednesday 15/04/26","Wednesday 15/04/2026"]} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":480,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":480,"date_string":"15/04/26 Wednesday"} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[97],"types":["warmup"]} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[97]} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[97],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":97,"relation":"amraps","format_row_id":38,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":1,"matched":0,"not_matched":1,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-15 11:26:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":97,"workout_format_type":"amrap","workout_format_id":38,"class_id":480,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-15 11:26:32] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-15 11:26:32] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-15 11:26:32] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-15 11:26:32] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-15 11:26:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":38,"workout_manager_id":97,"workout_libraries_id":16,"training_load":35,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-15T11:25:22.000000Z","updated_at":"2026-04-15T11:25:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-15 11:26:32] local.INFO: Day received (raw): {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:26:32] local.INFO: Day received (sanitized): {"day":"15/04/26 Wednesday"} 
[2026-04-15 11:26:32] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-15 11:26:44] local.INFO: Saved type row conditioning  
[2026-04-15 11:26:49] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-16 02:42:07] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 02:42:07] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 02:42:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:07] local.WARNING: [getWorkouts] No workout assignments found {"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:09] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 02:42:09] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 02:42:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:09] local.WARNING: [getWorkouts] No workout assignments found {"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:10] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 02:42:10] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 02:42:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:10] local.WARNING: [getWorkouts] No workout assignments found {"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:11] local.WARNING: [getWorkouts] No workout assignments found {"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:11] local.WARNING: [getWorkouts] No workout assignments found {"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:11] local.WARNING: [getWorkouts] No workout assignments found {"class_id":125,"date_string":"16/04/26 Thursday"} 
[2026-04-16 02:42:45] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"14/04/26 Tuesday","date_obj":"2026-04-14"} 
[2026-04-16 02:42:45] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday","patterns":["14/04/26 Tuesday","14/04/26","14/04/2026","14/04/26 Tuesday","14/04/2026 Tuesday","Tuesday 14/04/26","Tuesday 14/04/2026"]} 
[2026-04-16 02:42:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:45] local.WARNING: [getWorkouts] No workout assignments found {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"14/04/26 Tuesday","date_obj":"2026-04-14"} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday","patterns":["14/04/26 Tuesday","14/04/26","14/04/2026","14/04/26 Tuesday","14/04/2026 Tuesday","Tuesday 14/04/26","Tuesday 14/04/2026"]} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:47] local.WARNING: [getWorkouts] No workout assignments found {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"14/04/26 Tuesday","date_obj":"2026-04-14"} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday","patterns":["14/04/26 Tuesday","14/04/26","14/04/2026","14/04/26 Tuesday","14/04/2026 Tuesday","Tuesday 14/04/26","Tuesday 14/04/2026"]} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:47] local.WARNING: [getWorkouts] No workout assignments found {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:47] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"14/04/26 Tuesday","date_obj":"2026-04-14"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday","patterns":["14/04/26 Tuesday","14/04/26","14/04/2026","14/04/26 Tuesday","14/04/2026 Tuesday","Tuesday 14/04/26","Tuesday 14/04/2026"]} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:48] local.WARNING: [getWorkouts] No workout assignments found {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"14/04/26 Tuesday","date_obj":"2026-04-14"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday","patterns":["14/04/26 Tuesday","14/04/26","14/04/2026","14/04/26 Tuesday","14/04/2026 Tuesday","Tuesday 14/04/26","Tuesday 14/04/2026"]} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:48] local.WARNING: [getWorkouts] No workout assignments found {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"14/04/26 Tuesday","date_obj":"2026-04-14"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday","patterns":["14/04/26 Tuesday","14/04/26","14/04/2026","14/04/26 Tuesday","14/04/2026 Tuesday","Tuesday 14/04/26","Tuesday 14/04/2026"]} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:48] local.WARNING: [getWorkouts] No workout assignments found {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:49] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"14/04/26 Tuesday","date_obj":"2026-04-14"} 
[2026-04-16 02:42:49] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday","patterns":["14/04/26 Tuesday","14/04/26","14/04/2026","14/04/26 Tuesday","14/04/2026 Tuesday","Tuesday 14/04/26","Tuesday 14/04/2026"]} 
[2026-04-16 02:42:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:42:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:42:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:42:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-04-16 02:42:49] local.WARNING: [getWorkouts] No workout assignments found {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:07] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 02:43:07] local.INFO: Tab value: all  
[2026-04-16 02:43:09] local.INFO: Day received: {"day":"14/04/26 Tuesday"} 
[2026-04-16 02:43:10] local.INFO: Saved type row strength  
[2026-04-16 02:43:17] local.INFO: assignWorkoutToClass:  {"workout_id":80,"class_id":288,"type":"workout_manager","action":"assign","date":"14/04/26 Tuesday"} 
[2026-04-16 02:43:17] local.INFO: Day received: {"day":"14/04/26 Tuesday"} 
[2026-04-16 02:43:17] local.INFO: Saved type row strength  
[2026-04-16 02:43:27] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"14/04/26 Tuesday","date_obj":"2026-04-14"} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday","patterns":["14/04/26 Tuesday","14/04/26","14/04/2026","14/04/26 Tuesday","14/04/2026 Tuesday","Tuesday 14/04/26","Tuesday 14/04/2026"]} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[80],"types":["strength"]} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[80]} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[80],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":80,"relation":"straights","format_row_id":51,"workout_libraries_id":118,"available_test_library_ids":[]} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-16 02:43:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":80,"workout_libraries_id":118,"training_load":88,"unit_type":"%","reps":null,"created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":173,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":88,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":0},{"id":174,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":89,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":0},{"id":175,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":90,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":0},{"id":176,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":91,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":0}]}] 
[2026-04-16 02:43:27] local.INFO: Day received (raw): {"day":"14/04/26 Tuesday"} 
[2026-04-16 02:43:27] local.INFO: Day received (sanitized): {"day":"14/04/26 Tuesday"} 
[2026-04-16 02:43:27] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"14/04/26 Tuesday","date_obj":"2026-04-14"} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday","patterns":["14/04/26 Tuesday","14/04/26","14/04/2026","14/04/26 Tuesday","14/04/2026 Tuesday","Tuesday 14/04/26","Tuesday 14/04/2026"]} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[80],"types":["strength"]} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[80]} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[80],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":80,"relation":"straights","format_row_id":51,"workout_libraries_id":118,"available_test_library_ids":[]} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-16 02:43:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":80,"workout_libraries_id":118,"training_load":88,"unit_type":"%","reps":null,"created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":173,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":88,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":0},{"id":174,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":89,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":0},{"id":175,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":90,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":0},{"id":176,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":91,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":0}]}] 
[2026-04-16 02:43:30] local.INFO: Day received (raw): {"day":"14/04/26 Tuesday"} 
[2026-04-16 02:43:30] local.INFO: Day received (sanitized): {"day":"14/04/26 Tuesday"} 
[2026-04-16 02:43:30] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"14/04/26 Tuesday","date_obj":"2026-04-14"} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday","patterns":["14/04/26 Tuesday","14/04/26","14/04/2026","14/04/26 Tuesday","14/04/2026 Tuesday","Tuesday 14/04/26","Tuesday 14/04/2026"]} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[80],"types":["strength"]} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[80]} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[80],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":80,"relation":"straights","format_row_id":51,"workout_libraries_id":118,"available_test_library_ids":[]} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-16 02:43:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":80,"workout_libraries_id":118,"training_load":88,"unit_type":"%","reps":null,"created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":173,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":88,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":0},{"id":174,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":89,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":0},{"id":175,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":90,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":0},{"id":176,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":91,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":0}]}] 
[2026-04-16 02:43:37] local.INFO: Day received (raw): {"day":"14/04/26 Tuesday"} 
[2026-04-16 02:43:37] local.INFO: Day received (sanitized): {"day":"14/04/26 Tuesday"} 
[2026-04-16 02:43:37] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"14/04/26 Tuesday","date_obj":"2026-04-14"} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday","patterns":["14/04/26 Tuesday","14/04/26","14/04/2026","14/04/26 Tuesday","14/04/2026 Tuesday","Tuesday 14/04/26","Tuesday 14/04/2026"]} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[118],"test_ids":[74]} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118],"testMap_sample":{"118":{"test_id":74,"weight":106.0,"unit_type":"kg","date":"14/04/26 Tuesday","test_created_at":"2026-04-16 02:43:52"}}} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[80],"types":["strength"]} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[80]} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[80],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118]} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":80,"relation":"straights","format_row_id":51,"workout_libraries_id":118,"attached_test_id":74,"attached_test_weight":106.0,"attached_unit_type":"kg","row_data":{"id":51,"workout_manager_id":80,"workout_libraries_id":118,"training_load":88,"unit_type":"%","reps":null,"created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","test_weight":106.0,"test_unit_type":"kg","test_id":74,"test_created_at":"2026-04-16 02:43:52","format_row_id":51,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":173,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":88,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":174,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":89,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":175,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":90,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":176,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":91,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-16 02:43:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":80,"workout_libraries_id":118,"training_load":88,"unit_type":"%","reps":null,"created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","test_weight":106.0,"test_unit_type":"kg","test_id":74,"test_created_at":"2026-04-16 02:43:52","format_row_id":51,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":173,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":88,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":106.0,"test_unit_type":"kg","test_id":74,"test_created_at":"2026-04-16 02:43:52","format_row_id":51,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":174,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":89,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":106.0,"test_unit_type":"kg","test_id":74,"test_created_at":"2026-04-16 02:43:52","format_row_id":51,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":175,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":90,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":106.0,"test_unit_type":"kg","test_id":74,"test_created_at":"2026-04-16 02:43:52","format_row_id":51,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":176,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":91,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":106.0,"test_unit_type":"kg","test_id":74,"test_created_at":"2026-04-16 02:43:52","format_row_id":51,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0}]}] 
[2026-04-16 02:43:53] local.INFO: Day received (raw): {"day":"14/04/26 Tuesday"} 
[2026-04-16 02:43:53] local.INFO: Day received (sanitized): {"day":"14/04/26 Tuesday"} 
[2026-04-16 02:43:53] local.INFO: Tests retrieved {"count":1,"tests":[{"id":74,"workout_manager_id":98,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"14/04/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-04-16T02:43:52.000000Z","updated_at":"2026-04-16T02:43:52.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"14/04/26 Tuesday","date_obj":"2026-04-14"} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday","patterns":["14/04/26 Tuesday","14/04/26","14/04/2026","14/04/26 Tuesday","14/04/2026 Tuesday","Tuesday 14/04/26","Tuesday 14/04/2026"]} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[118],"test_ids":[74]} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118],"testMap_sample":{"118":{"test_id":74,"weight":106.0,"unit_type":"kg","date":"14/04/26 Tuesday","test_created_at":"2026-04-16 02:43:52"}}} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":288,"date_string":"14/04/26 Tuesday"} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[80],"types":["strength"]} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[80]} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[80],"types":["Strength"],"formats":["straight-sets"]} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118]} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":80,"relation":"straights","format_row_id":51,"workout_libraries_id":118,"attached_test_id":74,"attached_test_weight":106.0,"attached_unit_type":"kg","row_data":{"id":51,"workout_manager_id":80,"workout_libraries_id":118,"training_load":88,"unit_type":"%","reps":null,"created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","test_weight":106.0,"test_unit_type":"kg","test_id":74,"test_created_at":"2026-04-16 02:43:52","format_row_id":51,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":173,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":88,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":174,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":89,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":175,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":90,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":176,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":91,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-16 02:43:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":80,"workout_libraries_id":118,"training_load":88,"unit_type":"%","reps":null,"created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","test_weight":106.0,"test_unit_type":"kg","test_id":74,"test_created_at":"2026-04-16 02:43:52","format_row_id":51,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":173,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":88,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":106.0,"test_unit_type":"kg","test_id":74,"test_created_at":"2026-04-16 02:43:52","format_row_id":51,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":174,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":89,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":106.0,"test_unit_type":"kg","test_id":74,"test_created_at":"2026-04-16 02:43:52","format_row_id":51,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":175,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":90,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":106.0,"test_unit_type":"kg","test_id":74,"test_created_at":"2026-04-16 02:43:52","format_row_id":51,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":176,"workout_libraries_id":118,"straight_id":51,"res":0,"training_load":91,"unittype":"%","created_at":"2026-04-14T02:29:54.000000Z","updated_at":"2026-04-14T02:29:54.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":106.0,"test_unit_type":"kg","test_id":74,"test_created_at":"2026-04-16 02:43:52","format_row_id":51,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0}]}] 
[2026-04-16 02:43:55] local.INFO: Day received (raw): {"day":"14/04/26 Tuesday"} 
[2026-04-16 02:43:55] local.INFO: Day received (sanitized): {"day":"14/04/26 Tuesday"} 
[2026-04-16 02:43:55] local.INFO: Tests retrieved {"count":1,"tests":[{"id":74,"workout_manager_id":98,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"14/04/26 Tuesday","weight":106.0,"unit_type":"kg","created_at":"2026-04-16T02:43:52.000000Z","updated_at":"2026-04-16T02:43:52.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-16 04:04:09] local.INFO: Tab value: all  
[2026-04-16 04:04:09] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:04:14] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-16 04:04:14] local.INFO: Saved type row conditioning  
[2026-04-16 04:04:16] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:04:17] local.INFO: Day received: {"day":"17/04/26 Friday"} 
[2026-04-16 04:04:19] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:04:24] local.INFO: Tab value: all  
[2026-04-16 04:04:24] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:04:39] local.INFO: Store Class Request Data: {"_token":"oSxcaUdaMkeitoMHPZMqgxFvmVzziSHffxYzamnO","selectdatecla":"16/04/26 Thursday","time":"01:00","duration":"1","spots":"20"} 
[2026-04-16 04:04:39] local.INFO: Creating single class. Date input: 16/04/26 Thursday  
[2026-04-16 04:04:39] local.INFO: Parsed start date: 2026-04-16  
[2026-04-16 04:04:39] local.INFO: createClass helper called. Date: 16/04/26 Thursday, Time: 01:00, Spots: 20  
[2026-04-16 04:04:39] local.INFO: Class created: 481  
[2026-04-16 04:04:39] local.INFO: Single class creation called successfully.  
[2026-04-16 04:04:42] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:04:42] local.INFO: Tab value: all  
[2026-04-16 04:05:01] local.INFO: AMRAP row processing {"managerId":99,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:05:01] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:05:01] local.INFO: AMRAP row processing {"managerId":99,"index":"2","exercise":"Back squat","workout_library_id":17} 
[2026-04-16 04:05:01] local.INFO: Saved AMRAP row 2  
[2026-04-16 04:05:04] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:05:04] local.INFO: Tab value: all  
[2026-04-16 04:05:04] local.INFO: Saved type row warmup  
[2026-04-16 04:05:05] local.INFO: Saved type row warmup  
[2026-04-16 04:05:05] local.INFO: Saved type row warmup  
[2026-04-16 04:05:22] local.INFO: AMRAP row processing {"managerId":100,"index":"1","exercise":"Back squat","workout_library_id":17} 
[2026-04-16 04:05:22] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:05:22] local.INFO: AMRAP row processing {"managerId":100,"index":"2","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:05:22] local.INFO: Saved AMRAP row 2  
[2026-04-16 04:05:25] local.INFO: Tab value: all  
[2026-04-16 04:05:25] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:05:26] local.INFO: Saved type row warmup  
[2026-04-16 04:05:26] local.INFO: Saved type row warmup  
[2026-04-16 04:05:26] local.INFO: Saved type row warmup  
[2026-04-16 04:05:26] local.INFO: Saved type row warmup  
[2026-04-16 04:05:26] local.INFO: Saved type row warmup  
[2026-04-16 04:05:26] local.INFO: Saved type row warmup  
[2026-04-16 04:05:35] local.INFO: assignWorkoutToClass:  {"workout_id":100,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:05:36] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:05:36] local.INFO: Saved type row warmup  
[2026-04-16 04:05:36] local.INFO: Saved type row warmup  
[2026-04-16 04:05:38] local.INFO: assignWorkoutToClass:  {"workout_id":99,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:05:38] local.INFO: Saved type row warmup  
[2026-04-16 04:05:38] local.INFO: Saved type row warmup  
[2026-04-16 04:05:38] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[100,99],"types":["warmup"]} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99]} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[99,100],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:05:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":[]} 
[2026-04-16 04:05:53] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:05:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":[]} 
[2026-04-16 04:05:53] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:05:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":[]} 
[2026-04-16 04:05:53] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:05:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":[]} 
[2026-04-16 04:05:53] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:05:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:05:53] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:05:53] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:05:53] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[100,99],"types":["warmup"]} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99]} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[99,100],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:06:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":[]} 
[2026-04-16 04:06:24] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:06:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":[]} 
[2026-04-16 04:06:24] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:06:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":[]} 
[2026-04-16 04:06:24] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:06:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":[]} 
[2026-04-16 04:06:24] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:06:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:06:24] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:06:24] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:06:24] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:06:55] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:06:55] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:06:55] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":41,"reps":1,"round_number":"1/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:06:55] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:06:55] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"round_number":"1/7"} 
[2026-04-16 04:06:56] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:06:56] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:06:56] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":42,"reps":1,"round_number":"1/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:06:56] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:06:56] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"round_number":"1/7"} 
[2026-04-16 04:06:56] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:06:56] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:06:56] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":41,"reps":1,"round_number":"2/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:06:56] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:06:56] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"round_number":"2/7"} 
[2026-04-16 04:06:57] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:06:57] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:06:57] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":41,"reps":1,"round_number":"3/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:06:57] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:06:57] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"round_number":"3/7"} 
[2026-04-16 04:06:57] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:06:57] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:06:57] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":42,"reps":1,"round_number":"2/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:06:57] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:06:57] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"round_number":"2/7"} 
[2026-04-16 04:07:00] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:00] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:00] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":42,"reps":1,"round_number":"3/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:00] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:00] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"round_number":"3/7"} 
[2026-04-16 04:07:01] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:01] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:01] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":41,"reps":1,"round_number":"4/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:01] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:01] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"round_number":"4/7"} 
[2026-04-16 04:07:02] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:02] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:02] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":42,"reps":1,"round_number":"4/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:02] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:02] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"round_number":"4/7"} 
[2026-04-16 04:07:03] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:03] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:03] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":41,"reps":1,"round_number":"5/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:03] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:03] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"round_number":"5/7"} 
[2026-04-16 04:07:04] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:04] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:04] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":42,"reps":1,"round_number":"5/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:04] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:04] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"round_number":"5/7"} 
[2026-04-16 04:07:05] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:05] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:05] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":41,"reps":1,"round_number":"6/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:05] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:05] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"round_number":"6/7"} 
[2026-04-16 04:07:06] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:06] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:06] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":42,"reps":1,"round_number":"6/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:06] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:06] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"round_number":"6/7"} 
[2026-04-16 04:07:07] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:07] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:07] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":41,"reps":1,"round_number":"7/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:07] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:07] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"round_number":"7/7"} 
[2026-04-16 04:07:09] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:09] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:09] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":100,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":42,"reps":1,"round_number":"7/7","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:09] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:09] local.INFO: New warm-up created {"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"round_number":"7/7"} 
[2026-04-16 04:07:20] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:20] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:20] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":99,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":39,"reps":1,"round_number":"1/6","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:20] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:20] local.INFO: New warm-up created {"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"round_number":"1/6"} 
[2026-04-16 04:07:21] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:21] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:21] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":99,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":40,"reps":1,"round_number":"1/6","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:21] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:21] local.INFO: New warm-up created {"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"round_number":"1/6"} 
[2026-04-16 04:07:21] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:21] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:21] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":99,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":39,"reps":1,"round_number":"2/6","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:21] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:21] local.INFO: New warm-up created {"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"round_number":"2/6"} 
[2026-04-16 04:07:22] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:22] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:22] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":99,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":40,"reps":1,"round_number":"2/6","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:22] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:22] local.INFO: New warm-up created {"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"round_number":"2/6"} 
[2026-04-16 04:07:23] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:23] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:23] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":99,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":39,"reps":1,"round_number":"3/6","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:23] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:23] local.INFO: New warm-up created {"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"round_number":"3/6"} 
[2026-04-16 04:07:24] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:24] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:24] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":99,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":40,"reps":1,"round_number":"3/6","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:24] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:24] local.INFO: New warm-up created {"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"round_number":"3/6"} 
[2026-04-16 04:07:25] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:25] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:25] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":99,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":39,"reps":1,"round_number":"4/6","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:25] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:25] local.INFO: New warm-up created {"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"round_number":"4/6"} 
[2026-04-16 04:07:26] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:26] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:26] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":99,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":40,"reps":1,"round_number":"4/6","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:26] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:26] local.INFO: New warm-up created {"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"round_number":"4/6"} 
[2026-04-16 04:07:27] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:27] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:27] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":99,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":39,"reps":1,"round_number":"5/6","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:27] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:27] local.INFO: New warm-up created {"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"round_number":"5/6"} 
[2026-04-16 04:07:28] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:28] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:28] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":99,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":40,"reps":1,"round_number":"5/6","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:28] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:28] local.INFO: New warm-up created {"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"round_number":"5/6"} 
[2026-04-16 04:07:29] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:29] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:29] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":99,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":39,"reps":1,"round_number":"6/6","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:29] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:29] local.INFO: New warm-up created {"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"round_number":"6/6"} 
[2026-04-16 04:07:30] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:07:30] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:07:30] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":99,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":40,"reps":1,"round_number":"6/6","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:07:30] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:07:30] local.INFO: New warm-up created {"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"round_number":"6/6"} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[100,99],"types":["warmup"]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[99,100],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:07:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:07:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:07:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:07:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:07:47] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:07:47] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:07:47] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[100,99],"types":["warmup"]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[99,100],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:07:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:07:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:07:47] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:07:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:07:47] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:07:47] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:07:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:07:47] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:07:47] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:07:47] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:08:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:08:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:08:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:08:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[100,99],"types":["warmup"]} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99]} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[99,100],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:08:14] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:08:14] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:08:14] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:14] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:08:14] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:08:14] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[100,99],"types":["warmup"]} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99]} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[99,100],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:15] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:08:15] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:15] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:08:15] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:15] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:15] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:08:15] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:15] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:15] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:08:15] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:08:15] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[100,99],"types":["warmup"]} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99]} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[99,100],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:08:26] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:08:26] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:08:26] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:26] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:08:26] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:08:26] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[100,99],"types":["warmup"]} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99]} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[99,100],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:08:27] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:08:27] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:08:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:08:27] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:08:27] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:08:27] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:08:27] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:10:23] local.INFO: AMRAP row processing {"managerId":101,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:10:23] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:10:23] local.INFO: AMRAP row processing {"managerId":101,"index":"2","exercise":"Back squat","workout_library_id":17} 
[2026-04-16 04:10:23] local.INFO: Saved AMRAP row 2  
[2026-04-16 04:10:26] local.INFO: Tab value: all  
[2026-04-16 04:10:26] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:10:27] local.INFO: Saved type row weightlifting  
[2026-04-16 04:10:27] local.INFO: Saved type row warmup  
[2026-04-16 04:10:27] local.INFO: Saved type row warmup  
[2026-04-16 04:10:27] local.INFO: Saved type row weightlifting  
[2026-04-16 04:10:27] local.INFO: Saved type row warmup  
[2026-04-16 04:10:27] local.INFO: Saved type row warmup  
[2026-04-16 04:10:28] local.INFO: Saved type row weightlifting  
[2026-04-16 04:10:28] local.INFO: Saved type row warmup  
[2026-04-16 04:10:28] local.INFO: Saved type row warmup  
[2026-04-16 04:10:30] local.INFO: assignWorkoutToClass:  {"workout_id":101,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:10:30] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:10:30] local.INFO: Saved type row weightlifting  
[2026-04-16 04:10:30] local.INFO: Saved type row warmup  
[2026-04-16 04:10:30] local.INFO: Saved type row warmup  
[2026-04-16 04:10:42] local.INFO: AMRAP row processing {"managerId":102,"index":"1","exercise":"Back squat","workout_library_id":17} 
[2026-04-16 04:10:42] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:10:47] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:10:47] local.INFO: Tab value: all  
[2026-04-16 04:10:48] local.INFO: Saved type row weightlifting  
[2026-04-16 04:10:48] local.INFO: Saved type row weightlifting  
[2026-04-16 04:10:48] local.INFO: Saved type row warmup  
[2026-04-16 04:10:48] local.INFO: Saved type row warmup  
[2026-04-16 04:10:48] local.INFO: Saved type row weightlifting  
[2026-04-16 04:10:48] local.INFO: Saved type row weightlifting  
[2026-04-16 04:10:48] local.INFO: Saved type row warmup  
[2026-04-16 04:10:48] local.INFO: Saved type row warmup  
[2026-04-16 04:10:49] local.INFO: Saved type row weightlifting  
[2026-04-16 04:10:49] local.INFO: Saved type row weightlifting  
[2026-04-16 04:10:49] local.INFO: Saved type row warmup  
[2026-04-16 04:10:49] local.INFO: Saved type row warmup  
[2026-04-16 04:10:50] local.INFO: assignWorkoutToClass:  {"workout_id":102,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:10:51] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:10:51] local.INFO: Saved type row weightlifting  
[2026-04-16 04:10:51] local.INFO: Saved type row weightlifting  
[2026-04-16 04:10:51] local.INFO: Saved type row warmup  
[2026-04-16 04:10:51] local.INFO: Saved type row warmup  
[2026-04-16 04:11:05] local.INFO: AMRAP row processing {"managerId":103,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:11:05] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:11:08] local.INFO: Tab value: all  
[2026-04-16 04:11:08] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:09] local.INFO: Saved type row accessory  
[2026-04-16 04:11:09] local.INFO: Saved type row weightlifting  
[2026-04-16 04:11:09] local.INFO: Saved type row weightlifting  
[2026-04-16 04:11:09] local.INFO: Saved type row warmup  
[2026-04-16 04:11:09] local.INFO: Saved type row warmup  
[2026-04-16 04:11:09] local.INFO: Saved type row accessory  
[2026-04-16 04:11:09] local.INFO: Saved type row weightlifting  
[2026-04-16 04:11:09] local.INFO: Saved type row weightlifting  
[2026-04-16 04:11:09] local.INFO: Saved type row warmup  
[2026-04-16 04:11:09] local.INFO: Saved type row warmup  
[2026-04-16 04:11:10] local.INFO: Saved type row accessory  
[2026-04-16 04:11:10] local.INFO: Saved type row weightlifting  
[2026-04-16 04:11:10] local.INFO: Saved type row weightlifting  
[2026-04-16 04:11:10] local.INFO: Saved type row warmup  
[2026-04-16 04:11:10] local.INFO: Saved type row warmup  
[2026-04-16 04:11:12] local.INFO: assignWorkoutToClass:  {"workout_id":103,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:11:12] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-04-16 04:11:12 where `id` = 481) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-04-16 04:11:12 where `id` = 481) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:608)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(608): PDO->prepare('update `classes...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `classes...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-04-16 04:11:16] local.INFO: assignWorkoutToClass:  {"workout_id":103,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:11:16] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-04-16 04:11:16 where `id` = 481) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-04-16 04:11:16 where `id` = 481) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:608)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(608): PDO->prepare('update `classes...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `classes...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-04-16 04:11:23] local.INFO: Tab value: all  
[2026-04-16 04:11:23] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:24] local.INFO: Saved type row accessory  
[2026-04-16 04:11:24] local.INFO: Saved type row weightlifting  
[2026-04-16 04:11:24] local.INFO: Saved type row weightlifting  
[2026-04-16 04:11:24] local.INFO: Saved type row warmup  
[2026-04-16 04:11:24] local.INFO: Saved type row warmup  
[2026-04-16 04:11:24] local.INFO: Saved type row accessory  
[2026-04-16 04:11:24] local.INFO: Saved type row weightlifting  
[2026-04-16 04:11:24] local.INFO: Saved type row weightlifting  
[2026-04-16 04:11:24] local.INFO: Saved type row warmup  
[2026-04-16 04:11:24] local.INFO: Saved type row warmup  
[2026-04-16 04:11:25] local.INFO: Saved type row accessory  
[2026-04-16 04:11:25] local.INFO: Saved type row weightlifting  
[2026-04-16 04:11:25] local.INFO: Saved type row weightlifting  
[2026-04-16 04:11:25] local.INFO: Saved type row warmup  
[2026-04-16 04:11:25] local.INFO: Saved type row warmup  
[2026-04-16 04:11:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:29] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:29] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:29] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:30] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:30] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:30] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:31] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:31] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:31] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:31] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:31] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:31] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:31] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:31] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:31] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:31] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:32] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:32] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:32] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:32] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:32] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:32] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:32] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:32] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:32] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:32] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:32] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:33] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:33] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:33] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:33] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:33] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:33] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:33] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:34] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:34] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:34] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:34] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:34] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:34] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:34] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:34] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:34] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:34] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:35] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:35] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:35] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:35] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:35] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:35] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:35] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:35] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:35] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:35] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:35] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:37] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:37] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:37] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:37] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:37] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:37] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:37] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:52] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:52] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:52] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:52] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:52] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:52] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:52] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:56] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:56] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:56] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:56] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:56] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:56] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:56] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:56] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:56] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:56] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:57] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:11:57] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:11:57] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:57] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:57] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:57] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":[]} 
[2026-04-16 04:11:57] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:11:57] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:57] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:11:57] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:12:13] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:12:13] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":103,"workout_type":"accessory","workout_format_type":"amrap","workout_format_id":46,"reps":1,"round_number":"1/3","date":"16/04/26 Thursday","weight":80,"set_number":1,"class_Id":481}]} 
[2026-04-16 04:12:13] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-04-16 04:12:13] local.INFO: New accessory record created {"workout_manager_id":103,"set_number":1} 
[2026-04-16 04:12:15] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:12:15] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":103,"workout_type":"accessory","workout_format_type":"amrap","workout_format_id":46,"reps":1,"round_number":"2/3","date":"16/04/26 Thursday","weight":80,"set_number":2,"class_Id":481}]} 
[2026-04-16 04:12:15] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-04-16 04:12:15] local.INFO: New accessory record created {"workout_manager_id":103,"set_number":2} 
[2026-04-16 04:12:18] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:12:18] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":103,"workout_type":"accessory","workout_format_type":"amrap","workout_format_id":46,"reps":1,"round_number":"3/3","date":"16/04/26 Thursday","weight":80,"set_number":3,"class_Id":481}]} 
[2026-04-16 04:12:18] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-04-16 04:12:18] local.INFO: New accessory record created {"workout_manager_id":103,"set_number":3} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:12:20] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:12:20] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:12:20] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:20] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:20] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:20] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:12:20] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:12:20] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:20] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:12:20] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:12:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:12:21] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:12:21] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:12:21] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:21] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:21] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:21] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:12:21] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:12:21] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:21] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:12:21] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:12:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:12:24] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:12:24] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:12:24] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:24] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:24] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:24] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:12:24] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:12:24] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:24] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:12:24] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:12:24] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:12:40] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:12:40] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:12:40] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:12:40] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":102,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":45,"reps":1,"round_number":"1/4","date":"16/04/26 Thursday","weight":80,"set_number":1,"class_Id":481}]} 
[2026-04-16 04:12:40] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-16 04:12:40] local.INFO: New weightlifting record created {"workout_manager_id":102,"set_number":1} 
[2026-04-16 04:12:42] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:12:42] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:12:42] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:12:42] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":102,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":45,"reps":0,"round_number":"2/4","date":"16/04/26 Thursday","weight":80,"set_number":2,"class_Id":481}]} 
[2026-04-16 04:12:42] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-16 04:12:42] local.INFO: New weightlifting record created {"workout_manager_id":102,"set_number":2} 
[2026-04-16 04:12:44] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:12:44] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:12:44] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:12:44] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":102,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":45,"reps":0,"round_number":"3/4","date":"16/04/26 Thursday","weight":80,"set_number":3,"class_Id":481}]} 
[2026-04-16 04:12:44] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-16 04:12:44] local.INFO: New weightlifting record created {"workout_manager_id":102,"set_number":3} 
[2026-04-16 04:12:47] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:12:47] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:12:47] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:12:47] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":102,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":45,"reps":0,"round_number":"4/4","date":"16/04/26 Thursday","weight":80,"set_number":4,"class_Id":481}]} 
[2026-04-16 04:12:47] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-16 04:12:47] local.INFO: New weightlifting record created {"workout_manager_id":102,"set_number":4} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:12:53] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:12:53] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:12:53] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:53] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:53] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:12:53] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:53] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:12:53] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:12:53] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:53] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:53] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:12:53] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:12:53] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:12:54] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:12:54] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:12:54] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:54] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:54] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:12:54] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:12:54] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:12:54] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:54] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:12:54] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:12:54] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:12:55] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:12:55] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:12:55] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:55] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:12:55] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:12:55] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:12:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:12:55] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:12:55] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:12:55] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:12:55] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:12:55] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:13:06] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:13:06] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:13:06] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:13:06] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:06] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:13:06] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:13:06] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:13:07] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:13:07] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:13:07] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:13:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:13:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:13:07] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:13:07] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:13:07] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:07] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:13:07] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:13:07] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:13:08] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:13:08] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:13:08] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:13:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:13:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:13:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:13:09] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:13:09] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:13:09] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:13:09] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:13:09] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:13:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:13:09] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:13:09] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:13:09] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:13:09] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:13:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:09] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:13:09] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:13:09] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:13:10] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:13:10] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:13:10] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:13:10] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:13:10] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:13:10] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:13:10] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:13:10] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:10] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:13:10] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:13:10] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[100,99,101,102,103],"types":["warmup","weightlifting","accessory"]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[99,100,101,102,103],"types":["Warmup","Weightlifting","Accessory"],"formats":["amrap"]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":39,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":99,"relation":"amraps","format_row_id":40,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":41,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":100,"relation":"amraps","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":43,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":101,"relation":"amraps","format_row_id":44,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":102,"relation":"amraps","format_row_id":45,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":103,"relation":"amraps","format_row_id":46,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":8,"matched":0,"not_matched":8,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":5},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":39,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:13:11] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":99,"workout_format_type":"amrap","workout_format_id":40,"class_id":481,"round_entries":["1/6","2/6","3/6","4/6","5/6","6/6"]} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"1/6","done":"1","total":"6"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"2/6","done":"2","total":"6"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"3/6","done":"3","total":"6"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"4/6","done":"4","total":"6"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"5/6","done":"5","total":"6"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"6/6","done":"6","total":"6"} 
[2026-04-16 04:13:11] local.INFO: Updated rounds done/total {"rounds_done":6,"rounds_total":6} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":41,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":100,"workout_format_type":"amrap","workout_format_id":42,"class_id":481,"round_entries":["1/7","2/7","3/7","4/7","5/7","6/7","7/7"]} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"1/7","done":"1","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"2/7","done":"2","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"3/7","done":"3","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"4/7","done":"4","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"5/7","done":"5","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"6/7","done":"6","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"7/7","done":"7","total":"7"} 
[2026-04-16 04:13:11] local.INFO: Updated rounds done/total {"rounds_done":7,"rounds_total":7} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":43,"class_id":481,"round_entries":[]} 
[2026-04-16 04:13:11] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":101,"workout_format_type":"amrap","workout_format_id":44,"class_id":481,"round_entries":[]} 
[2026-04-16 04:13:11] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":102,"workout_format_type":"amrap","workout_format_id":45,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:13:11] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:13:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":103,"workout_format_type":"amrap","workout_format_id":46,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:13:11] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:13:11] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":39,"workout_manager_id":99,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":40,"workout_manager_id":99,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:01.000000Z","updated_at":"2026-04-16T04:05:01.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":6,"rounds_total":6,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":41,"workout_manager_id":100,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":42,"workout_manager_id":100,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:05:22.000000Z","updated_at":"2026-04-16T04:05:22.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":7,"rounds_total":7,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":43,"workout_manager_id":101,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":44,"workout_manager_id":101,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:23.000000Z","updated_at":"2026-04-16T04:10:23.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":45,"workout_manager_id":102,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":1,"created_at":"2026-04-16T04:10:42.000000Z","updated_at":"2026-04-16T04:10:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":46,"workout_manager_id":103,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:11:05.000000Z","updated_at":"2026-04-16T04:11:05.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:13:11] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:13:11] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:13:11] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:13:35] local.INFO: Saved type row weightlifting  
[2026-04-16 04:13:35] local.INFO: Saved type row weightlifting  
[2026-04-16 04:13:35] local.INFO: Saved type row warmup  
[2026-04-16 04:13:35] local.INFO: Saved type row warmup  
[2026-04-16 04:13:37] local.INFO: Saved type row weightlifting  
[2026-04-16 04:13:37] local.INFO: Saved type row warmup  
[2026-04-16 04:13:37] local.INFO: Saved type row warmup  
[2026-04-16 04:13:41] local.INFO: Saved type row warmup  
[2026-04-16 04:13:41] local.INFO: Saved type row warmup  
[2026-04-16 04:13:44] local.INFO: Saved type row warmup  
[2026-04-16 04:14:03] local.INFO: AMRAP row processing {"managerId":104,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:14:03] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:14:03] local.INFO: AMRAP row processing {"managerId":104,"index":"2","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:14:03] local.INFO: Saved AMRAP row 2  
[2026-04-16 04:14:06] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:14:06] local.INFO: Tab value: all  
[2026-04-16 04:14:06] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:07] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:07] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:30] local.INFO: AMRAP row processing {"managerId":105,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:14:30] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:14:30] local.INFO: AMRAP row processing {"managerId":105,"index":"2","exercise":"Back squat","workout_library_id":17} 
[2026-04-16 04:14:30] local.INFO: Saved AMRAP row 2  
[2026-04-16 04:14:33] local.INFO: Tab value: all  
[2026-04-16 04:14:33] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:14:34] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:34] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:34] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:34] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:35] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:35] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:37] local.INFO: assignWorkoutToClass:  {"workout_id":105,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:14:37] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:37] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:37] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:14:39] local.INFO: assignWorkoutToClass:  {"workout_id":104,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:14:39] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:14:39] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:39] local.INFO: Saved type row conditioning  
[2026-04-16 04:14:57] local.INFO: AMRAP row processing {"managerId":106,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:14:57] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:14:57] local.INFO: AMRAP row processing {"managerId":106,"index":"2","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:14:57] local.INFO: Saved AMRAP row 2  
[2026-04-16 04:15:01] local.INFO: Tab value: all  
[2026-04-16 04:15:01] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:01] local.INFO: Saved type row strength  
[2026-04-16 04:15:01] local.INFO: Saved type row conditioning  
[2026-04-16 04:15:01] local.INFO: Saved type row conditioning  
[2026-04-16 04:15:02] local.INFO: Saved type row strength  
[2026-04-16 04:15:02] local.INFO: Saved type row conditioning  
[2026-04-16 04:15:02] local.INFO: Saved type row conditioning  
[2026-04-16 04:15:02] local.INFO: Saved type row strength  
[2026-04-16 04:15:02] local.INFO: Saved type row conditioning  
[2026-04-16 04:15:02] local.INFO: Saved type row conditioning  
[2026-04-16 04:15:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[100,99,101,102,103,105,104],"types":["warmup","weightlifting","accessory","conditioning"]} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104]} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[104,105],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:04] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:04] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:04] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[100,99,101,102,103,105,104],"types":["warmup","weightlifting","accessory","conditioning"]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[104,105],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:05] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:05] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:05] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:05] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:05] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:05] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:05] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[100,99,101,102,103,105,104],"types":["warmup","weightlifting","accessory","conditioning"]} 
[2026-04-16 04:15:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[104,105],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:06] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:06] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:06] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[100,99,101,102,103,105,104],"types":["warmup","weightlifting","accessory","conditioning"]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[104,105],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:06] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:06] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:06] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[100,99,101,102,103,105,104],"types":["warmup","weightlifting","accessory","conditioning"]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[104,105],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:07] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:07] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:07] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[100,99,101,102,103,105,104],"types":["warmup","weightlifting","accessory","conditioning"]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[104,105],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:07] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:07] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:07] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[100,99,101,102,103,105,104],"types":["warmup","weightlifting","accessory","conditioning"]} 
[2026-04-16 04:15:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[104,105],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:08] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:08] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:08] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[100,99,101,102,103,105,104],"types":["warmup","weightlifting","accessory","conditioning"]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[104,105],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:08] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:08] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:08] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[100,99,101,102,103,105,104],"types":["warmup","weightlifting","accessory","conditioning"]} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104]} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[104,105],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:09] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:09] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:09] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[100,99,101,102,103,105,104],"types":["warmup","weightlifting","accessory","conditioning"]} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104]} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[104,105],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:11] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:11] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:11] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:11] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:11] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:11] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:11] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[100,99,101,102,103,105,104],"types":["warmup","weightlifting","accessory","conditioning"]} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104]} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[104,105],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:12] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:12] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:12] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[100,99,101,102,103,105,104],"types":["warmup","weightlifting","accessory","conditioning"]} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104]} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[104,105],"types":["Conditioning"],"formats":["amrap"]} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:14] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:14] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:14] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:14] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:14] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:14] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:14] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:14] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:16] local.INFO: assignWorkoutToClass:  {"workout_id":106,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:15:17] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:17] local.INFO: Saved type row strength  
[2026-04-16 04:15:17] local.INFO: Saved type row conditioning  
[2026-04-16 04:15:17] local.INFO: Saved type row conditioning  
[2026-04-16 04:15:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[100,99,101,102,103,105,104,106],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[104,105,106],"types":["Conditioning","Strength"],"formats":["amrap"]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":51,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":52,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:23] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:23] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:23] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:23] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":51,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:23] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":52,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:23] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":106,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":106,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:23] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:23] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:23] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[100,99,101,102,103,105,104,106],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[104,105,106],"types":["Conditioning","Strength"],"formats":["amrap"]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":51,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":52,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:25] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:25] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:25] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:25] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":51,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:25] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":52,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:25] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":106,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":106,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:25] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:25] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:25] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[100,99,101,102,103,105,104,106],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[104,105,106],"types":["Conditioning","Strength"],"formats":["amrap"]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":51,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":52,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:25] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:25] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:25] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:25] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":51,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:25] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:25] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":52,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:25] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":106,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":106,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:25] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:25] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:25] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[100,99,101,102,103,105,104,106],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[104,105,106],"types":["Conditioning","Strength"],"formats":["amrap"]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":51,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":52,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:26] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:26] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:26] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:26] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":51,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:26] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:26] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":52,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:26] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":106,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:26] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":106,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:26] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:26] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:26] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[100,99,101,102,103,105,104,106],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[104,105,106],"types":["Conditioning","Strength"],"formats":["amrap"]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":51,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":52,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:28] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:28] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:28] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:28] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":51,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:28] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:28] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":52,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:28] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":106,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":106,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:28] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:28] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:28] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[100,99,101,102,103,105,104,106],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[104,105,106],"types":["Conditioning","Strength"],"formats":["amrap"]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":51,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":52,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":51,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:15:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":52,"class_id":481,"round_entries":[]} 
[2026-04-16 04:15:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":106,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":106,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:15:29] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:29] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:15:29] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:15:45] local.INFO: storeconditioningdaily function called.  
[2026-04-16 04:15:45] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:15:45] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":105,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":49,"reps":1,"round_number":"1/3","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:15:45] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-16 04:15:45] local.INFO: New conditioning record created {"workout_manager_id":105} 
[2026-04-16 04:15:46] local.INFO: storeconditioningdaily function called.  
[2026-04-16 04:15:46] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:15:46] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":105,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":50,"reps":1,"round_number":"1/3","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:15:46] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-16 04:15:46] local.INFO: New conditioning record created {"workout_manager_id":105} 
[2026-04-16 04:15:46] local.INFO: storeconditioningdaily function called.  
[2026-04-16 04:15:46] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:15:46] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":105,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":49,"reps":1,"round_number":"2/3","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:15:46] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-16 04:15:46] local.INFO: New conditioning record created {"workout_manager_id":105} 
[2026-04-16 04:15:47] local.INFO: storeconditioningdaily function called.  
[2026-04-16 04:15:47] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:15:47] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":105,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":50,"reps":1,"round_number":"2/3","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:15:47] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-16 04:15:47] local.INFO: New conditioning record created {"workout_manager_id":105} 
[2026-04-16 04:15:48] local.INFO: storeconditioningdaily function called.  
[2026-04-16 04:15:48] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:15:48] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":105,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":49,"reps":1,"round_number":"3/3","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:15:48] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-16 04:15:48] local.INFO: New conditioning record created {"workout_manager_id":105} 
[2026-04-16 04:15:50] local.INFO: storeconditioningdaily function called.  
[2026-04-16 04:15:50] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:15:50] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":105,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":50,"reps":1,"round_number":"3/3","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:15:50] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-16 04:15:50] local.INFO: New conditioning record created {"workout_manager_id":105} 
[2026-04-16 04:16:02] local.INFO: storeconditioningdaily function called.  
[2026-04-16 04:16:02] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:16:02] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":104,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":47,"reps":1,"round_number":"1/1","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:16:02] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-16 04:16:02] local.INFO: New conditioning record created {"workout_manager_id":104} 
[2026-04-16 04:16:02] local.INFO: storeconditioningdaily function called.  
[2026-04-16 04:16:02] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:16:02] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":104,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":48,"reps":1,"round_number":"1/1","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:16:02] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-04-16 04:16:02] local.INFO: New conditioning record created {"workout_manager_id":104} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[100,99,101,102,103,105,104,106],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[104,105,106],"types":["Conditioning","Strength"],"formats":["amrap"]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":51,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":52,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":["1/1"]} 
[2026-04-16 04:16:03] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-04-16 04:16:03] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":["1/1"]} 
[2026-04-16 04:16:03] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-04-16 04:16:03] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:16:03] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:16:03] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:16:03] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:16:03] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:16:03] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:16:03] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:16:03] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:16:03] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":51,"class_id":481,"round_entries":[]} 
[2026-04-16 04:16:03] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":52,"class_id":481,"round_entries":[]} 
[2026-04-16 04:16:03] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":1,"rounds_total":1,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":1,"rounds_total":1,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":106,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":106,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:03] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:16:03] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:16:03] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[100,99,101,102,103,105,104,106],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[104,105,106],"types":["Conditioning","Strength"],"formats":["amrap"]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":51,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":52,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":["1/1"]} 
[2026-04-16 04:16:04] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-04-16 04:16:04] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":["1/1"]} 
[2026-04-16 04:16:04] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-04-16 04:16:04] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:16:04] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:16:04] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:16:04] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:16:04] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:16:04] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:16:04] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:16:04] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:16:04] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":51,"class_id":481,"round_entries":[]} 
[2026-04-16 04:16:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":52,"class_id":481,"round_entries":[]} 
[2026-04-16 04:16:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":1,"rounds_total":1,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":1,"rounds_total":1,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":106,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":106,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:04] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:16:04] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:16:04] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[100,99,101,102,103,105,104,106],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[104,105,106],"types":["Conditioning","Strength"],"formats":["amrap"]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":51,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":52,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":["1/1"]} 
[2026-04-16 04:16:06] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-04-16 04:16:06] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":["1/1"]} 
[2026-04-16 04:16:06] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-04-16 04:16:06] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:16:06] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:16:06] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:16:06] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:16:06] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:16:06] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:16:06] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:16:06] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:16:06] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":51,"class_id":481,"round_entries":[]} 
[2026-04-16 04:16:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:06] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":52,"class_id":481,"round_entries":[]} 
[2026-04-16 04:16:06] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":1,"rounds_total":1,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":1,"rounds_total":1,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":106,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":106,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:06] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:16:06] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:16:06] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[100,99,101,102,103,105,104,106],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[104,105,106],"types":["Conditioning","Strength"],"formats":["amrap"]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":47,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":104,"relation":"amraps","format_row_id":48,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":49,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":105,"relation":"amraps","format_row_id":50,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":51,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":106,"relation":"amraps","format_row_id":52,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":47,"class_id":481,"round_entries":["1/1"]} 
[2026-04-16 04:16:07] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-04-16 04:16:07] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":104,"workout_format_type":"amrap","workout_format_id":48,"class_id":481,"round_entries":["1/1"]} 
[2026-04-16 04:16:07] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-04-16 04:16:07] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":49,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:16:07] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:16:07] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:16:07] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:16:07] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":105,"workout_format_type":"amrap","workout_format_id":50,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:16:07] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:16:07] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:16:07] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:16:07] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":51,"class_id":481,"round_entries":[]} 
[2026-04-16 04:16:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:16:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":106,"workout_format_type":"amrap","workout_format_id":52,"class_id":481,"round_entries":[]} 
[2026-04-16 04:16:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":47,"workout_manager_id":104,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":1,"rounds_total":1,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":48,"workout_manager_id":104,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:03.000000Z","updated_at":"2026-04-16T04:14:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":1,"rounds_total":1,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":49,"workout_manager_id":105,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":50,"workout_manager_id":105,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:30.000000Z","updated_at":"2026-04-16T04:14:30.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":51,"workout_manager_id":106,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":52,"workout_manager_id":106,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:14:57.000000Z","updated_at":"2026-04-16T04:14:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:16:07] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:16:07] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:16:07] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:16:23] local.INFO: Saved type row conditioning  
[2026-04-16 04:16:23] local.INFO: Saved type row conditioning  
[2026-04-16 04:16:25] local.INFO: Saved type row conditioning  
[2026-04-16 04:16:25] local.INFO: Saved type row conditioning  
[2026-04-16 04:16:27] local.INFO: Saved type row conditioning  
[2026-04-16 04:16:48] local.INFO: AMRAP row processing {"managerId":107,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:16:48] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:16:48] local.INFO: AMRAP row processing {"managerId":107,"index":"2","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:16:48] local.INFO: Saved AMRAP row 2  
[2026-04-16 04:16:56] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:16:57] local.INFO: Saved type row weightlifting  
[2026-04-16 04:16:59] local.INFO: Tab value: all  
[2026-04-16 04:16:59] local.INFO: Saved type row weightlifting  
[2026-04-16 04:16:59] local.INFO: Saved type row weightlifting  
[2026-04-16 04:17:18] local.INFO: AMRAP row processing {"managerId":108,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:17:18] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:17:18] local.INFO: AMRAP row processing {"managerId":108,"index":"2","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:17:18] local.INFO: Saved AMRAP row 2  
[2026-04-16 04:17:23] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:17:23] local.INFO: Tab value: all  
[2026-04-16 04:17:23] local.INFO: Saved type row weightlifting  
[2026-04-16 04:17:23] local.INFO: Saved type row weightlifting  
[2026-04-16 04:17:24] local.INFO: Saved type row weightlifting  
[2026-04-16 04:17:24] local.INFO: Saved type row weightlifting  
[2026-04-16 04:17:24] local.INFO: Saved type row weightlifting  
[2026-04-16 04:17:24] local.INFO: Saved type row weightlifting  
[2026-04-16 04:17:31] local.INFO: assignWorkoutToClass:  {"workout_id":108,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:17:31] local.INFO: Saved type row weightlifting  
[2026-04-16 04:17:31] local.INFO: Saved type row weightlifting  
[2026-04-16 04:17:31] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:17:33] local.INFO: assignWorkoutToClass:  {"workout_id":107,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:17:34] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:17:34] local.INFO: Saved type row weightlifting  
[2026-04-16 04:17:34] local.INFO: Saved type row weightlifting  
[2026-04-16 04:18:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[100,99,101,102,103,105,104,106,108,107],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106,108,107]} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[107,108],"types":["Weightlifting"],"formats":["amrap"]} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":53,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":54,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":55,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":56,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:18:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":53,"class_id":481,"round_entries":[]} 
[2026-04-16 04:18:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:18:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":54,"class_id":481,"round_entries":[]} 
[2026-04-16 04:18:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:18:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":55,"class_id":481,"round_entries":[]} 
[2026-04-16 04:18:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:18:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":56,"class_id":481,"round_entries":[]} 
[2026-04-16 04:18:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":107,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":54,"workout_manager_id":107,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":55,"workout_manager_id":108,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:18:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":56,"workout_manager_id":108,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:18:04] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:18:04] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:18:04] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[100,99,101,102,103,105,104,106,108,107],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106,108,107]} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[107,108],"types":["Weightlifting"],"formats":["amrap"]} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":53,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":54,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":55,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":56,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:18:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":53,"class_id":481,"round_entries":[]} 
[2026-04-16 04:18:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:18:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":54,"class_id":481,"round_entries":[]} 
[2026-04-16 04:18:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:18:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:18:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":55,"class_id":481,"round_entries":[]} 
[2026-04-16 04:18:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:18:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:18:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":56,"class_id":481,"round_entries":[]} 
[2026-04-16 04:18:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:18:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":107,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:18:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":54,"workout_manager_id":107,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:18:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":55,"workout_manager_id":108,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:18:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":56,"workout_manager_id":108,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:18:08] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:18:08] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:18:08] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":10,"workout_ids":[100,99,101,102,103,105,104,106,108,107],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106,108,107]} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[107,108],"types":["Weightlifting"],"formats":["amrap"]} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":53,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":54,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":55,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":56,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:18:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":53,"class_id":481,"round_entries":[]} 
[2026-04-16 04:18:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:18:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":54,"class_id":481,"round_entries":[]} 
[2026-04-16 04:18:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:18:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":55,"class_id":481,"round_entries":[]} 
[2026-04-16 04:18:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:18:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":56,"class_id":481,"round_entries":[]} 
[2026-04-16 04:18:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":107,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":54,"workout_manager_id":107,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":55,"workout_manager_id":108,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:18:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":56,"workout_manager_id":108,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:18:09] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:18:09] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:18:09] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:18:25] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:25] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:25] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:18:25] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":107,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":53,"reps":1,"round_number":"1/4","date":"16/04/26 Thursday","weight":80,"set_number":1,"class_Id":481}]} 
[2026-04-16 04:18:25] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-16 04:18:25] local.INFO: New weightlifting record created {"workout_manager_id":107,"set_number":1} 
[2026-04-16 04:18:25] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:25] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:25] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:18:25] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":107,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":53,"reps":1,"round_number":"2/4","date":"16/04/26 Thursday","weight":80,"set_number":2,"class_Id":481}]} 
[2026-04-16 04:18:25] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-16 04:18:25] local.INFO: New weightlifting record created {"workout_manager_id":107,"set_number":2} 
[2026-04-16 04:18:26] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:26] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:26] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:18:26] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":107,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":54,"reps":1,"round_number":"1/4","date":"16/04/26 Thursday","weight":66,"set_number":1,"class_Id":481}]} 
[2026-04-16 04:18:26] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-16 04:18:26] local.INFO: New weightlifting record created {"workout_manager_id":107,"set_number":1} 
[2026-04-16 04:18:26] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:26] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:26] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:18:26] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":107,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":54,"reps":1,"round_number":"2/4","date":"16/04/26 Thursday","weight":66,"set_number":2,"class_Id":481}]} 
[2026-04-16 04:18:26] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-16 04:18:26] local.INFO: New weightlifting record created {"workout_manager_id":107,"set_number":2} 
[2026-04-16 04:18:27] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:27] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:27] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:18:27] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":107,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":53,"reps":1,"round_number":"3/4","date":"16/04/26 Thursday","weight":80,"set_number":3,"class_Id":481}]} 
[2026-04-16 04:18:27] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-16 04:18:27] local.INFO: New weightlifting record created {"workout_manager_id":107,"set_number":3} 
[2026-04-16 04:18:28] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:28] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:28] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:18:28] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":107,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":54,"reps":1,"round_number":"3/4","date":"16/04/26 Thursday","weight":66,"set_number":3,"class_Id":481}]} 
[2026-04-16 04:18:28] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-16 04:18:28] local.INFO: New weightlifting record created {"workout_manager_id":107,"set_number":3} 
[2026-04-16 04:18:29] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:29] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:29] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:18:29] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":107,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":53,"reps":1,"round_number":"4/4","date":"16/04/26 Thursday","weight":80,"set_number":4,"class_Id":481}]} 
[2026-04-16 04:18:29] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-16 04:18:29] local.INFO: New weightlifting record created {"workout_manager_id":107,"set_number":4} 
[2026-04-16 04:18:30] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:30] local.INFO: storeweightliftingdaily function called.  
[2026-04-16 04:18:30] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:18:30] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":107,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":54,"reps":1,"round_number":"4/4","date":"16/04/26 Thursday","weight":66,"set_number":4,"class_Id":481}]} 
[2026-04-16 04:18:30] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-16 04:18:30] local.INFO: New weightlifting record created {"workout_manager_id":107,"set_number":4} 
[2026-04-16 04:19:03] local.INFO: AMRAP row processing {"managerId":109,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:19:03] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:19:08] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:19:08] local.INFO: Tab value: all  
[2026-04-16 04:19:08] local.INFO: Saved type row strength  
[2026-04-16 04:19:08] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:08] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:09] local.INFO: Saved type row strength  
[2026-04-16 04:19:09] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:09] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:09] local.INFO: Saved type row strength  
[2026-04-16 04:19:09] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:09] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:13] local.INFO: assignWorkoutToClass:  {"workout_id":109,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:19:13] local.INFO: Saved type row strength  
[2026-04-16 04:19:13] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:13] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:13] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:19:26] local.INFO: AMRAP row processing {"managerId":110,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:19:26] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:19:31] local.INFO: Tab value: all  
[2026-04-16 04:19:31] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:19:31] local.INFO: Saved type row strength  
[2026-04-16 04:19:31] local.INFO: Saved type row strength  
[2026-04-16 04:19:31] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:31] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:31] local.INFO: Saved type row strength  
[2026-04-16 04:19:31] local.INFO: Saved type row strength  
[2026-04-16 04:19:31] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:31] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:32] local.INFO: Saved type row strength  
[2026-04-16 04:19:32] local.INFO: Saved type row strength  
[2026-04-16 04:19:32] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:32] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:33] local.INFO: assignWorkoutToClass:  {"workout_id":110,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:19:34] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:19:34] local.INFO: Saved type row strength  
[2026-04-16 04:19:34] local.INFO: Saved type row strength  
[2026-04-16 04:19:34] local.INFO: Saved type row weightlifting  
[2026-04-16 04:19:34] local.INFO: Saved type row weightlifting  
[2026-04-16 04:20:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":12,"workout_ids":[100,99,101,102,103,105,104,106,108,107,109,110],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106,108,107,109,110]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[107,108,109,110],"types":["Weightlifting","Strength"],"formats":["amrap"]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":53,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":54,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":55,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":56,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":109,"relation":"amraps","format_row_id":57,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":110,"relation":"amraps","format_row_id":58,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":53,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:20:07] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:20:07] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:20:07] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:20:07] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:20:07] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":54,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:20:07] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:20:07] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:20:07] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:20:07] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:20:07] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":55,"class_id":481,"round_entries":[]} 
[2026-04-16 04:20:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":56,"class_id":481,"round_entries":[]} 
[2026-04-16 04:20:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":109,"workout_format_type":"amrap","workout_format_id":57,"class_id":481,"round_entries":[]} 
[2026-04-16 04:20:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":110,"workout_format_type":"amrap","workout_format_id":58,"class_id":481,"round_entries":[]} 
[2026-04-16 04:20:07] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":107,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":54,"workout_manager_id":107,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":55,"workout_manager_id":108,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":56,"workout_manager_id":108,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":57,"workout_manager_id":109,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:19:03.000000Z","updated_at":"2026-04-16T04:19:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":58,"workout_manager_id":110,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:19:26.000000Z","updated_at":"2026-04-16T04:19:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:07] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:20:07] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:20:07] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":12,"workout_ids":[100,99,101,102,103,105,104,106,108,107,109,110],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106,108,107,109,110]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[107,108,109,110],"types":["Weightlifting","Strength"],"formats":["amrap"]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":53,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":54,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":55,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":56,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":109,"relation":"amraps","format_row_id":57,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":110,"relation":"amraps","format_row_id":58,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":53,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:20:09] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:20:09] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:20:09] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:20:09] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:20:09] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":54,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:20:09] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:20:09] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:20:09] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:20:09] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:20:09] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":55,"class_id":481,"round_entries":[]} 
[2026-04-16 04:20:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":56,"class_id":481,"round_entries":[]} 
[2026-04-16 04:20:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":109,"workout_format_type":"amrap","workout_format_id":57,"class_id":481,"round_entries":[]} 
[2026-04-16 04:20:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:09] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":110,"workout_format_type":"amrap","workout_format_id":58,"class_id":481,"round_entries":[]} 
[2026-04-16 04:20:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":107,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":54,"workout_manager_id":107,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":55,"workout_manager_id":108,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":56,"workout_manager_id":108,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":57,"workout_manager_id":109,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:19:03.000000Z","updated_at":"2026-04-16T04:19:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:09] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":58,"workout_manager_id":110,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:19:26.000000Z","updated_at":"2026-04-16T04:19:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:09] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:20:09] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:20:09] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:20:25] local.INFO: storestrengthdaily function called.  
[2026-04-16 04:20:25] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:20:25] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":109,"workout_type":"strength","workout_format_type":"amrap","workout_format_id":57,"reps":1,"round_number":"1/3","date":"16/04/26 Thursday","weight":80,"set_number":1,"class_Id":481}]} 
[2026-04-16 04:20:25] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-04-16 04:20:25] local.INFO: New strength record created {"workout_manager_id":109,"set_number":1} 
[2026-04-16 04:20:26] local.INFO: storestrengthdaily function called.  
[2026-04-16 04:20:26] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:20:26] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":109,"workout_type":"strength","workout_format_type":"amrap","workout_format_id":57,"reps":1,"round_number":"2/3","date":"16/04/26 Thursday","weight":80,"set_number":2,"class_Id":481}]} 
[2026-04-16 04:20:26] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-04-16 04:20:26] local.INFO: New strength record created {"workout_manager_id":109,"set_number":2} 
[2026-04-16 04:20:29] local.INFO: storestrengthdaily function called.  
[2026-04-16 04:20:29] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:20:29] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":109,"workout_type":"strength","workout_format_type":"amrap","workout_format_id":57,"reps":1,"round_number":"3/3","date":"16/04/26 Thursday","weight":80,"set_number":3,"class_Id":481}]} 
[2026-04-16 04:20:29] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-04-16 04:20:29] local.INFO: New strength record created {"workout_manager_id":109,"set_number":3} 
[2026-04-16 04:20:38] local.INFO: storestrengthdaily function called.  
[2026-04-16 04:20:38] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:20:38] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":110,"workout_type":"strength","workout_format_type":"amrap","workout_format_id":58,"reps":1,"round_number":"1/1","date":"16/04/26 Thursday","weight":80,"set_number":1,"class_Id":481}]} 
[2026-04-16 04:20:38] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-04-16 04:20:38] local.INFO: New strength record created {"workout_manager_id":110,"set_number":1} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":12,"workout_ids":[100,99,101,102,103,105,104,106,108,107,109,110],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106,108,107,109,110]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[107,108,109,110],"types":["Weightlifting","Strength"],"formats":["amrap"]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":53,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":54,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":55,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":56,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":109,"relation":"amraps","format_row_id":57,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":110,"relation":"amraps","format_row_id":58,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":0,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":6,"matched":0,"not_matched":6,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":53,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:20:41] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:20:41] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:20:41] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:20:41] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:20:41] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":54,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:20:41] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:20:41] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:20:41] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:20:41] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:20:41] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":55,"class_id":481,"round_entries":[]} 
[2026-04-16 04:20:41] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":56,"class_id":481,"round_entries":[]} 
[2026-04-16 04:20:41] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":109,"workout_format_type":"amrap","workout_format_id":57,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:20:41] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:20:41] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:20:41] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:20:41] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:20:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":110,"workout_format_type":"amrap","workout_format_id":58,"class_id":481,"round_entries":["1/1"]} 
[2026-04-16 04:20:41] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-04-16 04:20:41] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":107,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":54,"workout_manager_id":107,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":55,"workout_manager_id":108,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":56,"workout_manager_id":108,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":57,"workout_manager_id":109,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:19:03.000000Z","updated_at":"2026-04-16T04:19:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":58,"workout_manager_id":110,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:19:26.000000Z","updated_at":"2026-04-16T04:19:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":1,"rounds_total":1,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:20:41] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:20:41] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:20:41] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:21:21] local.INFO: AMRAP row processing {"managerId":111,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:21:21] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:21:21] local.INFO: AMRAP row processing {"managerId":111,"index":"2","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:21:21] local.INFO: Saved AMRAP row 2  
[2026-04-16 04:21:26] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:21:26] local.INFO: Tab value: all  
[2026-04-16 04:21:27] local.INFO: Saved type row warmup  
[2026-04-16 04:21:27] local.INFO: Saved type row strength  
[2026-04-16 04:21:27] local.INFO: Saved type row strength  
[2026-04-16 04:21:27] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:27] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:27] local.INFO: Saved type row warmup  
[2026-04-16 04:21:27] local.INFO: Saved type row strength  
[2026-04-16 04:21:27] local.INFO: Saved type row strength  
[2026-04-16 04:21:27] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:27] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:28] local.INFO: Saved type row warmup  
[2026-04-16 04:21:28] local.INFO: Saved type row strength  
[2026-04-16 04:21:28] local.INFO: Saved type row strength  
[2026-04-16 04:21:28] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:28] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:44] local.INFO: AMRAP row processing {"managerId":112,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-16 04:21:44] local.INFO: Saved AMRAP row 1  
[2026-04-16 04:21:44] local.INFO: AMRAP row processing {"managerId":112,"index":"2","exercise":"Back squat","workout_library_id":17} 
[2026-04-16 04:21:44] local.INFO: Saved AMRAP row 2  
[2026-04-16 04:21:49] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:21:49] local.INFO: Tab value: all  
[2026-04-16 04:21:49] local.INFO: Saved type row warmup  
[2026-04-16 04:21:49] local.INFO: Saved type row warmup  
[2026-04-16 04:21:49] local.INFO: Saved type row strength  
[2026-04-16 04:21:49] local.INFO: Saved type row strength  
[2026-04-16 04:21:49] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:49] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:50] local.INFO: Saved type row warmup  
[2026-04-16 04:21:50] local.INFO: Saved type row warmup  
[2026-04-16 04:21:50] local.INFO: Saved type row strength  
[2026-04-16 04:21:50] local.INFO: Saved type row strength  
[2026-04-16 04:21:50] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:50] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:50] local.INFO: Saved type row warmup  
[2026-04-16 04:21:50] local.INFO: Saved type row warmup  
[2026-04-16 04:21:50] local.INFO: Saved type row strength  
[2026-04-16 04:21:50] local.INFO: Saved type row strength  
[2026-04-16 04:21:50] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:50] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:52] local.INFO: assignWorkoutToClass:  {"workout_id":112,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:21:52] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:21:52] local.INFO: Saved type row warmup  
[2026-04-16 04:21:52] local.INFO: Saved type row warmup  
[2026-04-16 04:21:52] local.INFO: Saved type row strength  
[2026-04-16 04:21:52] local.INFO: Saved type row strength  
[2026-04-16 04:21:52] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:52] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:56] local.INFO: assignWorkoutToClass:  {"workout_id":111,"class_id":481,"type":"workout_manager","action":"assign","date":"16/04/26 Thursday"} 
[2026-04-16 04:21:56] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 04:21:56] local.INFO: Saved type row warmup  
[2026-04-16 04:21:56] local.INFO: Saved type row warmup  
[2026-04-16 04:21:56] local.INFO: Saved type row strength  
[2026-04-16 04:21:56] local.INFO: Saved type row strength  
[2026-04-16 04:21:56] local.INFO: Saved type row weightlifting  
[2026-04-16 04:21:56] local.INFO: Saved type row weightlifting  
[2026-04-16 04:22:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[100,99,101,102,103,105,104,106,108,107,109,110,112,111],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106,108,107,109,110,112,111]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[107,108,109,110,111,112],"types":["Weightlifting","Strength","Warmup"],"formats":["amrap"]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":53,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":54,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":55,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":56,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":109,"relation":"amraps","format_row_id":57,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":110,"relation":"amraps","format_row_id":58,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":111,"relation":"amraps","format_row_id":59,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":111,"relation":"amraps","format_row_id":60,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":112,"relation":"amraps","format_row_id":61,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":112,"relation":"amraps","format_row_id":62,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":0,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":6},"amraps":{"seen":10,"matched":0,"not_matched":10,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":6},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":6},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":6},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:22:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":53,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:22:41] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:22:41] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:22:41] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:22:41] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:22:41] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:22:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":54,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 04:22:41] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 04:22:41] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 04:22:41] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 04:22:41] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 04:22:41] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:22:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":55,"class_id":481,"round_entries":[]} 
[2026-04-16 04:22:41] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:22:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":56,"class_id":481,"round_entries":[]} 
[2026-04-16 04:22:41] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:22:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":109,"workout_format_type":"amrap","workout_format_id":57,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 04:22:41] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 04:22:41] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 04:22:41] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 04:22:41] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:22:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":110,"workout_format_type":"amrap","workout_format_id":58,"class_id":481,"round_entries":["1/1"]} 
[2026-04-16 04:22:41] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-04-16 04:22:41] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:22:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":111,"workout_format_type":"amrap","workout_format_id":59,"class_id":481,"round_entries":[]} 
[2026-04-16 04:22:41] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:22:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":111,"workout_format_type":"amrap","workout_format_id":60,"class_id":481,"round_entries":[]} 
[2026-04-16 04:22:41] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:22:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":112,"workout_format_type":"amrap","workout_format_id":61,"class_id":481,"round_entries":[]} 
[2026-04-16 04:22:41] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 04:22:41] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":112,"workout_format_type":"amrap","workout_format_id":62,"class_id":481,"round_entries":[]} 
[2026-04-16 04:22:41] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":107,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":54,"workout_manager_id":107,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":55,"workout_manager_id":108,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":56,"workout_manager_id":108,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":57,"workout_manager_id":109,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:19:03.000000Z","updated_at":"2026-04-16T04:19:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":58,"workout_manager_id":110,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:19:26.000000Z","updated_at":"2026-04-16T04:19:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":1,"rounds_total":1,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":59,"workout_manager_id":111,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:21:21.000000Z","updated_at":"2026-04-16T04:21:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":60,"workout_manager_id":111,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:21:21.000000Z","updated_at":"2026-04-16T04:21:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":61,"workout_manager_id":112,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:21:44.000000Z","updated_at":"2026-04-16T04:21:44.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:22:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":112,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:21:44.000000Z","updated_at":"2026-04-16T04:21:44.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 04:22:41] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:22:41] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 04:22:41] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 04:22:59] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:22:59] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:22:59] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":111,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":59,"reps":1,"round_number":"1/3","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:22:59] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:22:59] local.INFO: New warm-up created {"workout_manager_id":111,"workout_format_type":"amrap","workout_format_id":59,"round_number":"1/3"} 
[2026-04-16 04:23:00] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:23:00] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:23:00] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":111,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":59,"reps":1,"round_number":"2/3","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:23:00] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:23:00] local.INFO: New warm-up created {"workout_manager_id":111,"workout_format_type":"amrap","workout_format_id":59,"round_number":"2/3"} 
[2026-04-16 04:23:01] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:23:01] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:23:01] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":111,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":60,"reps":1,"round_number":"1/3","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:23:01] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:23:01] local.INFO: New warm-up created {"workout_manager_id":111,"workout_format_type":"amrap","workout_format_id":60,"round_number":"1/3"} 
[2026-04-16 04:23:01] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:23:01] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:23:01] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":111,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":60,"reps":1,"round_number":"2/3","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:23:01] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:23:01] local.INFO: New warm-up created {"workout_manager_id":111,"workout_format_type":"amrap","workout_format_id":60,"round_number":"2/3"} 
[2026-04-16 04:23:03] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:23:03] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:23:03] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":111,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":59,"reps":1,"round_number":"3/3","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:23:03] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:23:03] local.INFO: New warm-up created {"workout_manager_id":111,"workout_format_type":"amrap","workout_format_id":59,"round_number":"3/3"} 
[2026-04-16 04:23:04] local.INFO: storewarmupdaily function called.  
[2026-04-16 04:23:04] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-16 04:23:04] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":111,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":60,"reps":1,"round_number":"3/3","date":"16/04/26 Thursday","class_Id":481}]} 
[2026-04-16 04:23:04] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-16 04:23:04] local.INFO: New warm-up created {"workout_manager_id":111,"workout_format_type":"amrap","workout_format_id":60,"round_number":"3/3"} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/04/26 Thursday","date_obj":"2026-04-16"} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday","patterns":["16/04/26 Thursday","16/04/26","16/04/2026","16/04/26 Thursday","16/04/2026 Thursday","Thursday 16/04/26","Thursday 16/04/2026"]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":481,"date_string":"16/04/26 Thursday"} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":14,"workout_ids":[100,99,101,102,103,105,104,106,108,107,109,110,112,111],"types":["warmup","weightlifting","accessory","conditioning","strength"]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[100,99,101,102,103,105,104,106,108,107,109,110,112,111]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":6,"ids":[107,108,109,110,111,112],"types":["Weightlifting","Strength","Warmup"],"formats":["amrap"]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":53,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":107,"relation":"amraps","format_row_id":54,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":55,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":108,"relation":"amraps","format_row_id":56,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":109,"relation":"amraps","format_row_id":57,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":110,"relation":"amraps","format_row_id":58,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":111,"relation":"amraps","format_row_id":59,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":111,"relation":"amraps","format_row_id":60,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":112,"relation":"amraps","format_row_id":61,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":112,"relation":"amraps","format_row_id":62,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":10,"rows_with_lib_id":10,"rows_matched":0,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":6},"amraps":{"seen":10,"matched":0,"not_matched":10,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":6},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":6},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":6},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":6},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":6},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":6},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":6}}} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 10:25:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":53,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 10:25:11] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 10:25:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":107,"workout_format_type":"amrap","workout_format_id":54,"class_id":481,"round_entries":["1/4","2/4","3/4","4/4"]} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"1/4","done":"1","total":"4"} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"2/4","done":"2","total":"4"} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"3/4","done":"3","total":"4"} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"4/4","done":"4","total":"4"} 
[2026-04-16 10:25:11] local.INFO: Updated rounds done/total {"rounds_done":4,"rounds_total":4} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 10:25:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":55,"class_id":481,"round_entries":[]} 
[2026-04-16 10:25:11] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 10:25:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":108,"workout_format_type":"amrap","workout_format_id":56,"class_id":481,"round_entries":[]} 
[2026-04-16 10:25:11] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 10:25:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":109,"workout_format_type":"amrap","workout_format_id":57,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 10:25:11] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 10:25:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":110,"workout_format_type":"amrap","workout_format_id":58,"class_id":481,"round_entries":["1/1"]} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-04-16 10:25:11] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 10:25:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":111,"workout_format_type":"amrap","workout_format_id":59,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 10:25:11] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 10:25:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":111,"workout_format_type":"amrap","workout_format_id":60,"class_id":481,"round_entries":["1/3","2/3","3/3"]} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"1/3","done":"1","total":"3"} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"2/3","done":"2","total":"3"} 
[2026-04-16 10:25:11] local.INFO: Parsed round progress {"round":"3/3","done":"3","total":"3"} 
[2026-04-16 10:25:11] local.INFO: Updated rounds done/total {"rounds_done":3,"rounds_total":3} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 10:25:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":112,"workout_format_type":"amrap","workout_format_id":61,"class_id":481,"round_entries":[]} 
[2026-04-16 10:25:11] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-16 10:25:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":112,"workout_format_type":"amrap","workout_format_id":62,"class_id":481,"round_entries":[]} 
[2026-04-16 10:25:11] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":53,"workout_manager_id":107,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":54,"workout_manager_id":107,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:16:48.000000Z","updated_at":"2026-04-16T04:16:48.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":4,"rounds_total":4,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":55,"workout_manager_id":108,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":56,"workout_manager_id":108,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:17:18.000000Z","updated_at":"2026-04-16T04:17:18.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":57,"workout_manager_id":109,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:19:03.000000Z","updated_at":"2026-04-16T04:19:03.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":58,"workout_manager_id":110,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:19:26.000000Z","updated_at":"2026-04-16T04:19:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":1,"rounds_total":1,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":59,"workout_manager_id":111,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:21:21.000000Z","updated_at":"2026-04-16T04:21:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":60,"workout_manager_id":111,"workout_libraries_id":16,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:21:21.000000Z","updated_at":"2026-04-16T04:21:21.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":3,"rounds_total":3,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":61,"workout_manager_id":112,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:21:44.000000Z","updated_at":"2026-04-16T04:21:44.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-16 10:25:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":112,"workout_libraries_id":17,"training_load":66,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-16T04:21:44.000000Z","updated_at":"2026-04-16T04:21:44.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-16 10:25:11] local.INFO: Day received (raw): {"day":"16/04/26 Thursday"} 
[2026-04-16 10:25:11] local.INFO: Day received (sanitized): {"day":"16/04/26 Thursday"} 
[2026-04-16 10:25:11] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-16 10:26:43] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 10:26:43] local.INFO: Tab value: all  
[2026-04-16 10:26:43] local.INFO: Saved type row warmup  
[2026-04-16 10:26:43] local.INFO: Saved type row warmup  
[2026-04-16 10:26:43] local.INFO: Saved type row strength  
[2026-04-16 10:26:43] local.INFO: Saved type row strength  
[2026-04-16 10:26:43] local.INFO: Saved type row weightlifting  
[2026-04-16 10:26:43] local.INFO: Saved type row weightlifting  
[2026-04-16 10:26:44] local.INFO: Saved type row warmup  
[2026-04-16 10:26:44] local.INFO: Saved type row warmup  
[2026-04-16 10:26:44] local.INFO: Saved type row strength  
[2026-04-16 10:26:44] local.INFO: Saved type row strength  
[2026-04-16 10:26:44] local.INFO: Saved type row weightlifting  
[2026-04-16 10:26:44] local.INFO: Saved type row weightlifting  
[2026-04-16 10:26:46] local.INFO: Saved type row warmup  
[2026-04-16 10:26:46] local.INFO: Saved type row warmup  
[2026-04-16 10:26:46] local.INFO: Saved type row strength  
[2026-04-16 10:26:46] local.INFO: Saved type row strength  
[2026-04-16 10:26:46] local.INFO: Saved type row weightlifting  
[2026-04-16 10:26:46] local.INFO: Saved type row weightlifting  
[2026-04-16 10:27:00] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 10:27:05] local.INFO: Saved type row warmup  
[2026-04-16 10:27:05] local.INFO: Saved type row strength  
[2026-04-16 10:27:05] local.INFO: Saved type row strength  
[2026-04-16 10:27:05] local.INFO: Saved type row weightlifting  
[2026-04-16 10:27:05] local.INFO: Saved type row weightlifting  
[2026-04-16 10:27:10] local.INFO: Saved type row strength  
[2026-04-16 10:27:10] local.INFO: Saved type row strength  
[2026-04-16 10:27:10] local.INFO: Saved type row weightlifting  
[2026-04-16 10:27:10] local.INFO: Saved type row weightlifting  
[2026-04-16 10:27:16] local.INFO: Saved type row strength  
[2026-04-16 10:27:16] local.INFO: Saved type row strength  
[2026-04-16 10:27:16] local.INFO: Saved type row weightlifting  
[2026-04-16 10:27:18] local.INFO: Saved type row strength  
[2026-04-16 10:27:18] local.INFO: Saved type row strength  
[2026-04-16 10:27:20] local.INFO: Saved type row strength  
[2026-04-16 10:27:24] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-16 10:27:24] local.INFO: Saved type row conditioning  
[2026-04-16 10:27:25] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 10:27:25] local.INFO: Day received: {"day":"17/04/26 Friday"} 
[2026-04-16 10:27:31] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-16 10:27:40] local.INFO: Day received: {"day":"15/04/26 Wednesday"} 
[2026-04-16 10:27:40] local.INFO: Saved type row conditioning  
[2026-04-16 10:27:44] local.INFO: Day received: {"day":"16/04/26 Thursday"} 
[2026-04-17 01:21:22] local.INFO: Day received: {"day":"17/04/26 Friday"} 
[2026-04-17 01:21:22] local.INFO: Tab value: all  
[2026-04-17 01:22:39] local.INFO: Day received: {"day":"17/04/26 Friday"} 
[2026-04-17 01:22:39] local.INFO: Tab value: all  
[2026-04-17 01:22:40] local.INFO: Saved type row strength  
[2026-04-17 01:22:40] local.INFO: Saved type row strength  
[2026-04-17 01:22:42] local.INFO: Saved type row strength  
[2026-04-17 01:22:45] local.INFO: assignWorkoutToClass:  {"workout_id":113,"class_id":291,"type":"workout_manager","action":"assign","date":"17/04/26 Friday"} 
[2026-04-17 01:22:46] local.INFO: Saved type row strength  
[2026-04-17 01:22:46] local.INFO: Day received: {"day":"17/04/26 Friday"} 
[2026-04-17 01:25:14] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (114, 98, 350, m, 0, ?, 2026-04-17 01:25:14, 2026-04-17 01:25:14)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (114, 98, 350, m, 0, ?, 2026-04-17 01:25:14, 2026-04-17 01:25:14)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 114)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 114)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-17 01:25:36] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (115, 98, 350, m, 1, ?, 2026-04-17 01:25:36, 2026-04-17 01:25:36)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (115, 98, 350, m, 1, ?, 2026-04-17 01:25:36, 2026-04-17 01:25:36)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 115)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 115)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-17 01:25:46] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (116, 98, 350, m, 1, ?, 2026-04-17 01:25:46, 2026-04-17 01:25:46)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (116, 98, 350, m, 1, ?, 2026-04-17 01:25:46, 2026-04-17 01:25:46)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 116)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 116)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-17 01:25:59] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (117, 98, 200, m, 1, ?, 2026-04-17 01:25:59, 2026-04-17 01:25:59)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (117, 98, 200, m, 1, ?, 2026-04-17 01:25:59, 2026-04-17 01:25:59)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 117)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 117)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-17 01:26:20] local.INFO: Day received: {"day":"17/04/26 Friday"} 
[2026-04-17 01:26:20] local.INFO: Tab value: all  
[2026-04-17 01:26:20] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:20] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:20] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:20] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:20] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:20] local.INFO: Saved type row strength  
[2026-04-17 01:26:20] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:20] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:20] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:20] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:20] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:20] local.INFO: Saved type row strength  
[2026-04-17 01:26:21] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:21] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:21] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:21] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:21] local.INFO: Saved type row conditioning  
[2026-04-17 01:26:21] local.INFO: Saved type row strength  
[2026-04-17 02:06:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:06] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:06] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:06] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:10] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:10] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:10] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:10] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:23] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:23] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:23] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:24] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:24] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:24] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:25] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:25] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:25] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:25] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:25] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:26] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:27] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:27] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:27] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:28] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:28] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:28] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:29] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:29] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:29] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:30] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:30] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:30] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:31] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:31] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:31] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:56] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:56] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:56] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:06:59] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:59] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:06:59] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:02] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:07:02] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:07:02] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:06] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:07:06] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:07:06] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/04/26 Friday","date_obj":"2026-04-17"} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":291,"date_string":"17/04/26 Friday","patterns":["17/04/26 Friday","17/04/26","17/04/2026","17/04/26 Friday","17/04/2026 Friday","Friday 17/04/26","Friday 17/04/2026"]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":291,"date_string":"17/04/26 Friday"} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[113],"types":["strength"]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[113]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[113],"types":["Strength"],"formats":["pyramid"]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":3,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":4,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":5,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":6,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":113,"relation":"pyramids","format_row_id":7,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":5,"matched":0,"not_matched":5,"empty":0}}} 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":3,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":4,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":5,"workout_manager_id":113,"workout_libraries_id":42,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-17T01:22:35.000000Z","updated_at":"2026-04-17T01:22:35.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"workout_manager_id":113,"workout_libraries_id":42,"training_load":75,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":4,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"workout_manager_id":113,"workout_libraries_id":42,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-17T01:22:36.000000Z","updated_at":"2026-04-17T01:22:36.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}] 
[2026-04-17 02:07:07] local.INFO: Day received (raw): {"day":"17/04/26 Friday"} 
[2026-04-17 02:07:07] local.INFO: Day received (sanitized): {"day":"17/04/26 Friday"} 
[2026-04-17 02:07:07] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-17 02:42:24] local.INFO: assignWorkoutToClass:  {"workout_id":114,"class_id":291,"type":"workout_manager","action":"assign","date":"17/04/26 Friday"} 
[2026-04-17 02:42:25] local.INFO: Saved type row conditioning  
[2026-04-17 02:42:25] local.INFO: Saved type row conditioning  
[2026-04-17 02:42:25] local.INFO: Saved type row conditioning  
[2026-04-17 02:42:25] local.INFO: Saved type row conditioning  
[2026-04-17 02:42:25] local.INFO: Saved type row conditioning  
[2026-04-17 02:42:25] local.INFO: Saved type row strength  
[2026-04-17 02:42:25] local.INFO: Day received: {"day":"17/04/26 Friday"} 
[2026-04-17 02:42:30] local.INFO: Saved type row conditioning  
[2026-04-17 02:42:30] local.INFO: Saved type row conditioning  
[2026-04-17 02:42:30] local.INFO: Saved type row conditioning  
[2026-04-17 02:42:30] local.INFO: Saved type row conditioning  
[2026-04-17 02:42:30] local.INFO: Saved type row strength  
[2026-04-20 09:49:39] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 09:49:39] local.INFO: Tab value: all  
[2026-04-20 10:03:48] local.INFO: Tab value: all  
[2026-04-20 10:03:48] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 10:04:18] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 10:04:18] local.INFO: Tab value: all  
[2026-04-20 10:05:47] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 10:05:47] local.INFO: Tab value: all  
[2026-04-20 10:08:56] local.INFO: Tab value: all  
[2026-04-20 10:08:56] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 10:09:26] local.INFO: Day received: {"day":"21/04/26 Tuesday"} 
[2026-04-20 10:09:29] local.INFO: Day received: {"day":"26/04/26 Sunday"} 
[2026-04-20 10:09:31] local.INFO: Day received: {"day":"23/04/26 Thursday"} 
[2026-04-20 10:10:38] local.INFO: Tab value: all  
[2026-04-20 10:10:38] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 11:07:28] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 11:07:29] local.INFO: Tab value: all  
[2026-04-20 11:08:01] local.INFO: Store Class Request Data: {"_token":"1vbB3sNgOE3wewFHj3bWcyJ4fOKt3YJoyeNHcYmp","selectdatecla":"20/04/26 Monday","time":"05:00","duration":"1","spots":"20"} 
[2026-04-20 11:08:01] local.INFO: Creating single class. Date input: 20/04/26 Monday  
[2026-04-20 11:08:01] local.INFO: Parsed start date: 2026-04-20  
[2026-04-20 11:08:01] local.INFO: createClass helper called. Date: 20/04/26 Monday, Time: 05:00, Spots: 20  
[2026-04-20 11:08:01] local.INFO: Class created: 482  
[2026-04-20 11:08:01] local.INFO: Single class creation called successfully.  
[2026-04-20 11:08:04] local.INFO: Tab value: all  
[2026-04-20 11:08:04] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 11:08:26] local.INFO: AMRAP row processing {"managerId":119,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-20 11:08:27] local.INFO: Saved AMRAP row 1  
[2026-04-20 11:08:27] local.INFO: AMRAP row processing {"managerId":119,"index":"2","exercise":"Pull up","workout_library_id":16} 
[2026-04-20 11:08:27] local.INFO: Saved AMRAP row 2  
[2026-04-20 11:08:44] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 11:08:44] local.INFO: Tab value: all  
[2026-04-20 11:08:45] local.INFO: Saved type row warmup  
[2026-04-20 11:08:46] local.INFO: Saved type row warmup  
[2026-04-20 11:08:46] local.INFO: Saved type row warmup  
[2026-04-20 11:08:51] local.INFO: assignWorkoutToClass:  {"workout_id":119,"class_id":482,"type":"workout_manager","action":"assign","date":"20/04/26 Monday"} 
[2026-04-20 11:08:51] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 11:08:51] local.INFO: Saved type row warmup  
[2026-04-20 11:09:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:09:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:09:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:09:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[119],"types":["warmup"]} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119]} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[119],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:09:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":[]} 
[2026-04-20 11:09:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:09:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":[]} 
[2026-04-20 11:09:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:09:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:09:08] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:09:08] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:09:08] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:09:08] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:09:27] local.INFO: storewarmupdaily function called.  
[2026-04-20 11:09:27] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:09:27] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":119,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":64,"reps":3,"round_number":"1/2","date":"20/04/26 Monday","class_Id":482}]} 
[2026-04-20 11:09:27] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-20 11:09:27] local.INFO: New warm-up created {"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"round_number":"1/2"} 
[2026-04-20 11:09:28] local.INFO: storewarmupdaily function called.  
[2026-04-20 11:09:28] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:09:28] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":119,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":63,"reps":2,"round_number":"1/2","date":"20/04/26 Monday","class_Id":482}]} 
[2026-04-20 11:09:28] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-20 11:09:28] local.INFO: New warm-up created {"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"round_number":"1/2"} 
[2026-04-20 11:09:29] local.INFO: storewarmupdaily function called.  
[2026-04-20 11:09:29] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:09:29] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":119,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":63,"reps":2,"round_number":"2/2","date":"20/04/26 Monday","class_Id":482}]} 
[2026-04-20 11:09:29] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-20 11:09:29] local.INFO: New warm-up created {"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"round_number":"2/2"} 
[2026-04-20 11:09:31] local.INFO: storewarmupdaily function called.  
[2026-04-20 11:09:31] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:09:31] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":119,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":64,"reps":3,"round_number":"2/2","date":"20/04/26 Monday","class_Id":482}]} 
[2026-04-20 11:09:31] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-20 11:09:31] local.INFO: New warm-up created {"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"round_number":"2/2"} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[119],"types":["warmup"]} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119]} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[119],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:09:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:09:34] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:09:34] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:09:34] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:09:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:09:34] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:09:34] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:09:34] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:09:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:09:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:09:34] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:09:34] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:09:34] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[119],"types":["warmup"]} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119]} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[119],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:09:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:09:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:09:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:09:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:09:36] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:09:36] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:09:36] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:09:36] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:09:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:09:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:09:36] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:09:36] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:09:36] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:09:54] local.INFO: AMRAP row processing {"managerId":120,"index":"1","exercise":"Back squat","workout_library_id":17} 
[2026-04-20 11:09:54] local.INFO: Saved AMRAP row 1  
[2026-04-20 11:09:54] local.INFO: AMRAP row processing {"managerId":120,"index":"2","exercise":"Pull up","workout_library_id":16} 
[2026-04-20 11:09:54] local.INFO: Saved AMRAP row 2  
[2026-04-20 11:09:54] local.INFO: AMRAP row processing {"managerId":120,"index":"3","exercise":"Back squat","workout_library_id":17} 
[2026-04-20 11:09:54] local.INFO: Saved AMRAP row 3  
[2026-04-20 11:09:58] local.INFO: Tab value: all  
[2026-04-20 11:09:59] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 11:09:59] local.INFO: Saved type row warmup  
[2026-04-20 11:09:59] local.INFO: Saved type row warmup  
[2026-04-20 11:09:59] local.INFO: Saved type row warmup  
[2026-04-20 11:09:59] local.INFO: Saved type row warmup  
[2026-04-20 11:10:00] local.INFO: Saved type row warmup  
[2026-04-20 11:10:00] local.INFO: Saved type row warmup  
[2026-04-20 11:10:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[119],"types":["warmup"]} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119]} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[119],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:01] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:01] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:01] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[119],"types":["warmup"]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[119],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:02] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:02] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:02] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:02] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:02] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:02] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:02] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:02] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:02] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[119],"types":["warmup"]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[119],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:02] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:02] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:02] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:02] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:02] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:02] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:02] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:02] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:02] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[119],"types":["warmup"]} 
[2026-04-20 11:10:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119]} 
[2026-04-20 11:10:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[119],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:10:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:10:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-20 11:10:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:03] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:03] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:03] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:03] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:03] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:03] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:03] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:03] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:03] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:03] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:03] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[119],"types":["warmup"]} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119]} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[119],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:04] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:04] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:04] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:04] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:04] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:04] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:04] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:04] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:04] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:04] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:04] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[119],"types":["warmup"]} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119]} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[119],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:05] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:05] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:05] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:05] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:05] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:05] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:05] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:05] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:05] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:05] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[119],"types":["warmup"]} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119]} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[119],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:07] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:07] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:07] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:07] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:07] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:07] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:07] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:07] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:07] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:07] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:07] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:10:12] local.INFO: assignWorkoutToClass:  {"workout_id":120,"class_id":482,"type":"workout_manager","action":"assign","date":"20/04/26 Monday"} 
[2026-04-20 11:10:12] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:12] local.INFO: Saved type row warmup  
[2026-04-20 11:10:12] local.INFO: Saved type row warmup  
[2026-04-20 11:10:17] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[119,120],"types":["warmup"]} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120]} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[119,120],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:17] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:17] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:17] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:17] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:17] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:17] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:17] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:17] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:17] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":[]} 
[2026-04-20 11:10:17] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:17] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":[]} 
[2026-04-20 11:10:17] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:17] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":[]} 
[2026-04-20 11:10:17] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:17] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:17] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:17] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[119,120],"types":["warmup"]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[119,120],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:18] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:18] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:18] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:18] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:18] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:18] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":[]} 
[2026-04-20 11:10:18] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":[]} 
[2026-04-20 11:10:18] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:18] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":[]} 
[2026-04-20 11:10:18] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:18] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:18] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:18] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:18] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[119,120],"types":["warmup"]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[119,120],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:20] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:20] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:20] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:20] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:20] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:20] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":[]} 
[2026-04-20 11:10:20] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":[]} 
[2026-04-20 11:10:20] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:20] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":[]} 
[2026-04-20 11:10:20] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:20] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:20] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[119,120],"types":["warmup"]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[119,120],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:10:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:10:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:10:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":[]} 
[2026-04-20 11:10:21] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":[]} 
[2026-04-20 11:10:21] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:10:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":[]} 
[2026-04-20 11:10:21] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:10:21] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:21] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:10:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:10:44] local.INFO: storewarmupdaily function called.  
[2026-04-20 11:10:44] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:10:44] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":120,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":65,"reps":1,"round_number":"1/2","date":"20/04/26 Monday","class_Id":482}]} 
[2026-04-20 11:10:44] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-20 11:10:44] local.INFO: New warm-up created {"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"round_number":"1/2"} 
[2026-04-20 11:10:45] local.INFO: storewarmupdaily function called.  
[2026-04-20 11:10:45] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:10:45] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":120,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":67,"reps":1,"round_number":"1/2","date":"20/04/26 Monday","class_Id":482}]} 
[2026-04-20 11:10:45] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-20 11:10:45] local.INFO: New warm-up created {"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"round_number":"1/2"} 
[2026-04-20 11:10:45] local.INFO: storewarmupdaily function called.  
[2026-04-20 11:10:45] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:10:45] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":120,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":66,"reps":1,"round_number":"1/2","date":"20/04/26 Monday","class_Id":482}]} 
[2026-04-20 11:10:45] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-20 11:10:45] local.INFO: New warm-up created {"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"round_number":"1/2"} 
[2026-04-20 11:10:46] local.INFO: storewarmupdaily function called.  
[2026-04-20 11:10:46] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:10:46] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":120,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":65,"reps":1,"round_number":"2/2","date":"20/04/26 Monday","class_Id":482}]} 
[2026-04-20 11:10:46] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-20 11:10:46] local.INFO: New warm-up created {"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"round_number":"2/2"} 
[2026-04-20 11:10:46] local.INFO: storewarmupdaily function called.  
[2026-04-20 11:10:46] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:10:46] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":120,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":66,"reps":1,"round_number":"2/2","date":"20/04/26 Monday","class_Id":482}]} 
[2026-04-20 11:10:46] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-20 11:10:46] local.INFO: New warm-up created {"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"round_number":"2/2"} 
[2026-04-20 11:10:47] local.INFO: storewarmupdaily function called.  
[2026-04-20 11:10:47] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:10:47] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":120,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":67,"reps":1,"round_number":"2/2","date":"20/04/26 Monday","class_Id":482}]} 
[2026-04-20 11:10:47] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-04-20 11:10:47] local.INFO: New warm-up created {"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"round_number":"2/2"} 
[2026-04-20 11:10:57] local.INFO: AMRAP row processing {"managerId":121,"index":"1","exercise":"Back squat","workout_library_id":17} 
[2026-04-20 11:10:57] local.INFO: Saved AMRAP row 1  
[2026-04-20 11:10:57] local.INFO: AMRAP row processing {"managerId":121,"index":"2","exercise":"Pull up","workout_library_id":16} 
[2026-04-20 11:10:57] local.INFO: Saved AMRAP row 2  
[2026-04-20 11:11:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[119,120],"types":["warmup"]} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120]} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[119,120],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:00] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:00] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:00] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:00] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:00] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:00] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:00] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:00] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[119,120],"types":["warmup"]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[119,120],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:01] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:01] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:01] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:01] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:01] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:01] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:01] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:07] local.INFO: Tab value: all  
[2026-04-20 11:11:07] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:07] local.INFO: Saved type row weightlifting  
[2026-04-20 11:11:07] local.INFO: Saved type row warmup  
[2026-04-20 11:11:07] local.INFO: Saved type row warmup  
[2026-04-20 11:11:08] local.INFO: Saved type row weightlifting  
[2026-04-20 11:11:08] local.INFO: Saved type row warmup  
[2026-04-20 11:11:08] local.INFO: Saved type row warmup  
[2026-04-20 11:11:09] local.INFO: Saved type row weightlifting  
[2026-04-20 11:11:09] local.INFO: Saved type row warmup  
[2026-04-20 11:11:09] local.INFO: Saved type row warmup  
[2026-04-20 11:11:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[119,120],"types":["warmup"]} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120]} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[119,120],"types":["Warmup"],"formats":["amrap"]} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:11] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:11] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:11] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:11] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:11] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:11] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:11] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:11] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:13] local.INFO: assignWorkoutToClass:  {"workout_id":121,"class_id":482,"type":"workout_manager","action":"assign","date":"20/04/26 Monday"} 
[2026-04-20 11:11:13] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:13] local.INFO: Saved type row weightlifting  
[2026-04-20 11:11:13] local.INFO: Saved type row warmup  
[2026-04-20 11:11:13] local.INFO: Saved type row warmup  
[2026-04-20 11:11:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:21] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:21] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:21] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:21] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:21] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:22] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:22] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:22] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:22] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:23] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:23] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:23] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:24] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:24] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:24] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:24] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:24] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:24] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:24] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:24] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:24] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:27] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:27] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:27] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:27] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:27] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:27] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:27] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:27] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:27] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:27] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:27] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:27] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:27] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:27] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:27] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:27] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:27] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:27] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:27] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:27] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:27] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:29] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:29] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:29] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:29] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:29] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:29] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:29] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:29] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:29] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:31] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:31] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:31] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:31] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:31] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:31] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:31] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:31] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:31] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:31] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:31] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:31] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:31] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:31] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:31] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:31] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:31] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":[]} 
[2026-04-20 11:11:31] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:31] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:31] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:31] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:46] local.INFO: storeweightliftingdaily function called.  
[2026-04-20 11:11:46] local.INFO: storeweightliftingdaily function called.  
[2026-04-20 11:11:46] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:11:46] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":121,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":68,"reps":2,"round_number":"1/2","date":"20/04/26 Monday","weight":55,"set_number":1,"class_Id":482}]} 
[2026-04-20 11:11:46] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-20 11:11:46] local.INFO: New weightlifting record created {"workout_manager_id":121,"set_number":1} 
[2026-04-20 11:11:47] local.INFO: storeweightliftingdaily function called.  
[2026-04-20 11:11:47] local.INFO: storeweightliftingdaily function called.  
[2026-04-20 11:11:47] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:11:47] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":121,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":69,"reps":1,"round_number":"1/2","date":"20/04/26 Monday","weight":77,"set_number":1,"class_Id":482}]} 
[2026-04-20 11:11:47] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-20 11:11:47] local.INFO: New weightlifting record created {"workout_manager_id":121,"set_number":1} 
[2026-04-20 11:11:47] local.INFO: storeweightliftingdaily function called.  
[2026-04-20 11:11:47] local.INFO: storeweightliftingdaily function called.  
[2026-04-20 11:11:47] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:11:47] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":121,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":68,"reps":2,"round_number":"2/2","date":"20/04/26 Monday","weight":55,"set_number":2,"class_Id":482}]} 
[2026-04-20 11:11:47] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-20 11:11:47] local.INFO: New weightlifting record created {"workout_manager_id":121,"set_number":2} 
[2026-04-20 11:11:48] local.INFO: storeweightliftingdaily function called.  
[2026-04-20 11:11:48] local.INFO: storeweightliftingdaily function called.  
[2026-04-20 11:11:48] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-04-20 11:11:48] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":121,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":69,"reps":1,"round_number":"2/2","date":"20/04/26 Monday","weight":77,"set_number":2,"class_Id":482}]} 
[2026-04-20 11:11:48] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-04-20 11:11:48] local.INFO: New weightlifting record created {"workout_manager_id":121,"set_number":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:55] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:55] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:55] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:55] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:55] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:55] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:55] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:56] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:56] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:56] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:56] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:57] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:57] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:57] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:57] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:57] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:57] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:57] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:58] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:58] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:58] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:58] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:58] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"20/04/26 Monday","date_obj":"2026-04-20"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":482,"date_string":"20/04/26 Monday","patterns":["20/04/26 Monday","20/04/26","20/04/2026","20/04/26 Monday","20/04/2026 Monday","Monday 20/04/26","Monday 20/04/2026"]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":482,"date_string":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[119,120,121],"types":["warmup","weightlifting"]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[119,120,121]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[119,120,121],"types":["Warmup","Weightlifting"],"formats":["amrap"]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":63,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":119,"relation":"amraps","format_row_id":64,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":65,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":66,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":120,"relation":"amraps","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":68,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":121,"relation":"amraps","format_row_id":69,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":7,"matched":0,"not_matched":7,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":63,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":119,"workout_format_type":"amrap","workout_format_id":64,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":65,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":66,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":120,"workout_format_type":"amrap","workout_format_id":67,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":68,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-20 11:11:59] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":121,"workout_format_type":"amrap","workout_format_id":69,"class_id":482,"round_entries":["1/2","2/2"]} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"1/2","done":"1","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Parsed round progress {"round":"2/2","done":"2","total":"2"} 
[2026-04-20 11:11:59] local.INFO: Updated rounds done/total {"rounds_done":2,"rounds_total":2} 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":63,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:08:26.000000Z","updated_at":"2026-04-20T11:08:26.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":64,"workout_manager_id":119,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-20T11:08:27.000000Z","updated_at":"2026-04-20T11:08:27.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":65,"workout_manager_id":120,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":66,"workout_manager_id":120,"workout_libraries_id":16,"training_load":55,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":67,"workout_manager_id":120,"workout_libraries_id":17,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:09:54.000000Z","updated_at":"2026-04-20T11:09:54.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":68,"workout_manager_id":121,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":69,"workout_manager_id":121,"workout_libraries_id":16,"training_load":77,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-04-20T11:10:57.000000Z","updated_at":"2026-04-20T11:10:57.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":2,"rounds_total":2,"completion_percent":100.0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-20 11:11:59] local.INFO: Day received (raw): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: Day received (sanitized): {"day":"20/04/26 Monday"} 
[2026-04-20 11:11:59] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-20 11:12:04] local.INFO: Saved type row warmup  
[2026-04-20 11:12:04] local.INFO: Saved type row warmup  
[2026-04-20 11:12:07] local.INFO: Saved type row warmup  
[2026-04-20 11:12:15] local.INFO: Day received: {"day":"20/04/26 Monday"} 
[2026-04-22 00:37:31] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:37:31] local.INFO: Tab value: all  
[2026-04-22 00:40:57] local.INFO: Tab value: all  
[2026-04-22 00:40:57] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:40:58] local.INFO: Saved type row warmup  
[2026-04-22 00:40:58] local.INFO: Saved type row warmup  
[2026-04-22 00:40:58] local.INFO: Saved type row warmup  
[2026-04-22 00:41:02] local.INFO: assignWorkoutToClass:  {"workout_id":122,"class_id":294,"type":"workout_manager","action":"assign","date":"22/04/26 Wednesday"} 
[2026-04-22 00:41:02] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:41:02] local.INFO: Saved type row warmup  
[2026-04-22 00:41:14] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 00:41:14] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 00:41:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-22 00:41:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-22 00:41:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[122],"types":["warmup"]} 
[2026-04-22 00:41:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122]} 
[2026-04-22 00:41:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[122],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-04-22 00:41:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-22 00:41:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":122,"relation":"straights","format_row_id":58,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-22 00:41:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-22 00:41:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":58,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":205,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":206,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":207,"workout_libraries_id":17,"straight_id":58,"res":null,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":0}]}] 
[2026-04-22 00:41:16] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:41:16] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:41:16] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[122],"types":["warmup"]} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122]} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[122],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":122,"relation":"straights","format_row_id":58,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-22 00:41:20] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":58,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":205,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":206,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":207,"workout_libraries_id":17,"straight_id":58,"res":null,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":0}]}] 
[2026-04-22 00:41:20] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:41:20] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:41:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[122],"types":["warmup"]} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122]} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[122],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":122,"relation":"straights","format_row_id":58,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":0,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-22 00:41:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":58,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":205,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":206,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":207,"workout_libraries_id":17,"straight_id":58,"res":null,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":0}]}] 
[2026-04-22 00:41:24] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:41:24] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:41:24] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[122],"types":["warmup"]} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122]} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[122],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":122,"relation":"straights","format_row_id":58,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":58,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":58,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":205,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":206,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":207,"workout_libraries_id":17,"straight_id":58,"res":null,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"}]}} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-22 00:41:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":58,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":58,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":205,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":58,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":206,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":58,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":207,"workout_libraries_id":17,"straight_id":58,"res":null,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":58,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0}]}] 
[2026-04-22 00:41:38] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:41:38] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:41:38] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[122],"types":["warmup"]} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122]} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[122],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":122,"relation":"straights","format_row_id":58,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":58,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":58,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":205,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":206,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":207,"workout_libraries_id":17,"straight_id":58,"res":null,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"}]}} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-22 00:41:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":58,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":58,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":205,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":58,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":206,"workout_libraries_id":17,"straight_id":58,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":58,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":207,"workout_libraries_id":17,"straight_id":58,"res":null,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:40:55.000000Z","updated_at":"2026-04-22T00:40:55.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":58,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0}]}] 
[2026-04-22 00:41:41] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:41:41] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:41:41] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 00:44:44] local.INFO: Tab value: all  
[2026-04-22 00:44:44] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:44:44] local.INFO: Saved type row warmup  
[2026-04-22 00:44:44] local.INFO: Saved type row warmup  
[2026-04-22 00:44:45] local.INFO: Saved type row warmup  
[2026-04-22 00:44:51] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[122],"types":["warmup"]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[122],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":122,"relation":"straights","format_row_id":59,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":59,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":208,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":209,"workout_libraries_id":17,"straight_id":59,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":210,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"}]}} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":122,"relation":"straights","format_row_id":60,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":59,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":208,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":209,"workout_libraries_id":17,"straight_id":59,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":210,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":60,"workout_manager_id":122,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","reps":2,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":211,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2},{"id":212,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2},{"id":213,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2}]}] 
[2026-04-22 00:44:51] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:44:51] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:44:51] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[122],"types":["warmup"]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[122],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":122,"relation":"straights","format_row_id":59,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":59,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":208,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":209,"workout_libraries_id":17,"straight_id":59,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":210,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"}]}} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":122,"relation":"straights","format_row_id":60,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":59,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":208,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":209,"workout_libraries_id":17,"straight_id":59,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":210,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 00:44:51] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":60,"workout_manager_id":122,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","reps":2,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":211,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2},{"id":212,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2},{"id":213,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2}]}] 
[2026-04-22 00:44:51] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:44:51] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 00:44:51] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 01:30:50] local.INFO: AMRAP row processing {"managerId":124,"index":"1","exercise":"Pull up","workout_library_id":16} 
[2026-04-22 01:30:50] local.INFO: Saved AMRAP row 1  
[2026-04-22 01:30:50] local.INFO: AMRAP row processing {"managerId":124,"index":"2","exercise":"Bike erg","workout_library_id":21} 
[2026-04-22 01:30:50] local.INFO: Saved AMRAP row 2  
[2026-04-22 01:30:50] local.INFO: AMRAP row processing {"managerId":124,"index":"3","exercise":"Jump Rope","workout_library_id":23} 
[2026-04-22 01:30:50] local.INFO: Saved AMRAP row 3  
[2026-04-22 01:30:50] local.INFO: AMRAP row processing {"managerId":124,"index":"4","exercise":"Seal row","workout_library_id":28} 
[2026-04-22 01:30:50] local.INFO: Saved AMRAP row 4  
[2026-04-22 01:30:53] local.INFO: Tab value: all  
[2026-04-22 01:30:53] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 01:30:53] local.INFO: Saved type row strength  
[2026-04-22 01:30:53] local.INFO: Saved type row warmup  
[2026-04-22 01:30:53] local.INFO: Saved type row strength  
[2026-04-22 01:30:53] local.INFO: Saved type row warmup  
[2026-04-22 01:30:54] local.INFO: Saved type row strength  
[2026-04-22 01:30:54] local.INFO: Saved type row warmup  
[2026-04-22 01:31:00] local.INFO: assignWorkoutToClass:  {"workout_id":124,"class_id":294,"type":"workout_manager","action":"assign","date":"22/04/26 Wednesday"} 
[2026-04-22 01:31:00] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 01:31:00] local.INFO: Saved type row strength  
[2026-04-22 01:31:00] local.INFO: Saved type row warmup  
[2026-04-22 01:31:12] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[122,124],"types":["warmup","strength"]} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124]} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[122,124],"types":["Warmup","Strength"],"formats":["straight-sets","amrap"]} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":122,"relation":"straights","format_row_id":59,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":59,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":208,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":209,"workout_libraries_id":17,"straight_id":59,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":210,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"}]}} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":122,"relation":"straights","format_row_id":60,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":124,"relation":"amraps","format_row_id":70,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":124,"relation":"amraps","format_row_id":71,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":124,"relation":"amraps","format_row_id":72,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":124,"relation":"amraps","format_row_id":73,"workout_libraries_id":28,"available_test_library_ids":[17]} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":4,"matched":0,"not_matched":4,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-22 01:31:12] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":124,"workout_format_type":"amrap","workout_format_id":70,"class_id":294,"round_entries":[]} 
[2026-04-22 01:31:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-22 01:31:12] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":124,"workout_format_type":"amrap","workout_format_id":71,"class_id":294,"round_entries":[]} 
[2026-04-22 01:31:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-22 01:31:12] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":124,"workout_format_type":"amrap","workout_format_id":72,"class_id":294,"round_entries":[]} 
[2026-04-22 01:31:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-04-22 01:31:12] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":124,"workout_format_type":"amrap","workout_format_id":73,"class_id":294,"round_entries":[]} 
[2026-04-22 01:31:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":59,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":208,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":209,"workout_libraries_id":17,"straight_id":59,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":210,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":60,"workout_manager_id":122,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","reps":2,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":211,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2},{"id":212,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2},{"id":213,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2}]}] 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":70,"workout_manager_id":124,"workout_libraries_id":16,"training_load":null,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-04-22T01:30:50.000000Z","updated_at":"2026-04-22T01:30:50.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":71,"workout_manager_id":124,"workout_libraries_id":21,"training_load":60,"unit_type":"Cal","gender":null,"reps":0,"created_at":"2026-04-22T01:30:50.000000Z","updated_at":"2026-04-22T01:30:50.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":72,"workout_manager_id":124,"workout_libraries_id":23,"training_load":null,"unit_type":"N/A","gender":null,"reps":10,"created_at":"2026-04-22T01:30:50.000000Z","updated_at":"2026-04-22T01:30:50.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 01:31:12] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":73,"workout_manager_id":124,"workout_libraries_id":28,"training_load":50,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T01:30:50.000000Z","updated_at":"2026-04-22T01:30:50.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"rounds_done":0,"rounds_total":0,"completion_percent":0,"workout_library":{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}] 
[2026-04-22 01:31:12] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 01:31:12] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 01:31:12] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 02:01:54] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:01:54] local.INFO: Tab value: all  
[2026-04-22 02:01:54] local.INFO: Saved type row accessory  
[2026-04-22 02:01:54] local.INFO: Saved type row warmup  
[2026-04-22 02:01:55] local.INFO: Saved type row accessory  
[2026-04-22 02:01:55] local.INFO: Saved type row warmup  
[2026-04-22 02:01:55] local.INFO: Saved type row accessory  
[2026-04-22 02:01:55] local.INFO: Saved type row warmup  
[2026-04-22 02:01:57] local.INFO: assignWorkoutToClass:  {"workout_id":124,"class_id":294,"type":"workout_manager","action":"assign","date":"22/04/26 Wednesday"} 
[2026-04-22 02:01:57] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-04-22 02:01:57 where `id` = 294) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-04-22 02:01:57 where `id` = 294) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:608)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(608): PDO->prepare('update `classes...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `classes...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-04-22 02:02:02] local.INFO: assignWorkoutToClass:  {"workout_id":124,"class_id":294,"type":"workout_manager","action":"assign","date":"22/04/26 Wednesday"} 
[2026-04-22 02:02:02] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-04-22 02:02:02 where `id` = 294) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-04-22 02:02:02 where `id` = 294) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:608)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(608): PDO->prepare('update `classes...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `classes...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-04-22 02:02:08] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:02:10] local.INFO: Saved type row accessory  
[2026-04-22 02:02:10] local.INFO: Saved type row warmup  
[2026-04-22 02:02:10] local.INFO: Saved type row accessory  
[2026-04-22 02:02:10] local.INFO: Saved type row warmup  
[2026-04-22 02:02:10] local.INFO: Tab value: all  
[2026-04-22 02:02:10] local.INFO: Saved type row accessory  
[2026-04-22 02:02:10] local.INFO: Saved type row warmup  
[2026-04-22 02:02:13] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[122,124],"types":["warmup","strength","accessory"]} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124]} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[122,124],"types":["Warmup","Accessory"],"formats":["straight-sets","emom"]} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":122,"relation":"straights","format_row_id":59,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":59,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":208,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":209,"workout_libraries_id":17,"straight_id":59,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":210,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"}]}} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":122,"relation":"straights","format_row_id":60,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":124,"relation":"emoms","format_row_id":16,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":124,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-04-22T02:01:52.000000Z","updated_at":"2026-04-22T02:01:52.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":16,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":124,"relation":"emoms","format_row_id":17,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":124,"relation":"emoms","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-04-22 02:02:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":2,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":3,"matched":1,"not_matched":2,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 02:02:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":59,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":208,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":209,"workout_libraries_id":17,"straight_id":59,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":210,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 02:02:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":60,"workout_manager_id":122,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","reps":2,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":211,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2},{"id":212,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2},{"id":213,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2}]}] 
[2026-04-22 02:02:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":124,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-04-22T02:01:52.000000Z","updated_at":"2026-04-22T02:01:52.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":16,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:02:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":124,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","gender":null,"reps":5,"created_at":"2026-04-22T02:01:52.000000Z","updated_at":"2026-04-22T02:01:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:02:14] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":124,"workout_libraries_id":21,"training_load":60,"unit_type":"Cal","gender":null,"reps":0,"created_at":"2026-04-22T02:01:52.000000Z","updated_at":"2026-04-22T02:01:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:02:14] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:02:14] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:02:14] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[122,124],"types":["warmup","strength","accessory"]} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124]} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[122,124],"types":["Warmup","Accessory"],"formats":["straight-sets","emom"]} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":122,"relation":"straights","format_row_id":59,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":59,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":208,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":209,"workout_libraries_id":17,"straight_id":59,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"},{"id":210,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00"}]}} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":122,"relation":"straights","format_row_id":60,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":124,"relation":"emoms","format_row_id":16,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":124,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-04-22T02:01:52.000000Z","updated_at":"2026-04-22T02:01:52.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":16,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":124,"relation":"emoms","format_row_id":17,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":124,"relation":"emoms","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":2,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":3,"matched":1,"not_matched":2,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":59,"workout_manager_id":122,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":208,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":209,"workout_libraries_id":17,"straight_id":59,"res":0,"training_load":80,"unittype":"%","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":0},{"id":210,"workout_libraries_id":17,"straight_id":59,"res":5,"training_load":6,"unittype":"RPE","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":59,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":60,"workout_manager_id":122,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","reps":2,"created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"sets":[{"id":211,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2},{"id":212,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2},{"id":213,"workout_libraries_id":16,"straight_id":60,"res":2,"training_load":null,"unittype":"BW","created_at":"2026-04-22T00:44:42.000000Z","updated_at":"2026-04-22T00:44:42.000000Z","restred":"00:04:00","restyellow":"00:04:00","restgreen":"00:04:00","is_completed":0,"daily_reps":0,"target_reps":2}]}] 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":16,"workout_manager_id":124,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-04-22T02:01:52.000000Z","updated_at":"2026-04-22T02:01:52.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":16,"format_relation":"emoms","format_table":"emoms","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":17,"workout_manager_id":124,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","gender":null,"reps":5,"created_at":"2026-04-22T02:01:52.000000Z","updated_at":"2026-04-22T02:01:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:02:16] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":18,"workout_manager_id":124,"workout_libraries_id":21,"training_load":60,"unit_type":"Cal","gender":null,"reps":0,"created_at":"2026-04-22T02:01:52.000000Z","updated_at":"2026-04-22T02:01:52.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:02:16] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:02:16] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:02:16] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 02:02:50] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-22 02:02:50] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":124,"workout_format_type":"emom","workout_format_id":16,"reps":5,"set_number":1,"round_number":null,"training_load":100,"exercise_time":"01:00","date":"22/04/26 Wednesday","class_Id":294}]} 
[2026-04-22 02:02:51] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-04-22 02:02:51] local.INFO: New accessory record created {"workout_manager_id":124,"set_number":1} 
[2026-04-22 02:02:52] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-04-22 02:02:52] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":124,"workout_format_type":"emom","workout_format_id":17,"reps":5,"set_number":2,"round_number":null,"training_load":null,"exercise_time":"01:00","date":"22/04/26 Wednesday","class_Id":294}]} 
[2026-04-22 02:02:52] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-04-22 02:02:52] local.INFO: New accessory record created {"workout_manager_id":124,"set_number":2} 
[2026-04-22 02:07:53] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:07:53] local.INFO: Saved type row accessory  
[2026-04-22 02:07:53] local.INFO: Saved type row warmup  
[2026-04-22 02:07:53] local.INFO: Tab value: all  
[2026-04-22 02:07:53] local.INFO: Saved type row accessory  
[2026-04-22 02:07:53] local.INFO: Saved type row warmup  
[2026-04-22 02:07:54] local.INFO: Saved type row accessory  
[2026-04-22 02:07:54] local.INFO: Saved type row warmup  
[2026-04-22 02:08:08] local.INFO: Saved type row warmup  
[2026-04-22 02:09:59] local.INFO: Tab value: all  
[2026-04-22 02:09:59] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:10:00] local.INFO: Saved type row strength  
[2026-04-22 02:10:00] local.INFO: Saved type row strength  
[2026-04-22 02:10:00] local.INFO: Saved type row strength  
[2026-04-22 02:10:17] local.INFO: assignWorkoutToClass:  {"workout_id":125,"class_id":294,"type":"workout_manager","action":"assign","date":"22/04/26 Wednesday"} 
[2026-04-22 02:10:17] local.INFO: Saved type row strength  
[2026-04-22 02:10:18] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:11:49] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:11:49] local.INFO: Tab value: all  
[2026-04-22 02:11:50] local.INFO: Saved type row conditioning  
[2026-04-22 02:11:50] local.INFO: Saved type row strength  
[2026-04-22 02:11:50] local.INFO: Saved type row conditioning  
[2026-04-22 02:11:50] local.INFO: Saved type row strength  
[2026-04-22 02:11:51] local.INFO: Saved type row conditioning  
[2026-04-22 02:11:51] local.INFO: Saved type row strength  
[2026-04-22 02:12:23] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:12:23] local.INFO: Tab value: all  
[2026-04-22 02:12:23] local.INFO: Saved type row conditioning  
[2026-04-22 02:12:23] local.INFO: Saved type row strength  
[2026-04-22 02:12:24] local.INFO: Saved type row conditioning  
[2026-04-22 02:12:24] local.INFO: Saved type row strength  
[2026-04-22 02:12:24] local.INFO: Saved type row conditioning  
[2026-04-22 02:12:24] local.INFO: Saved type row strength  
[2026-04-22 02:16:46] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:16:46] local.INFO: Tab value: all  
[2026-04-22 02:16:46] local.INFO: Saved type row conditioning  
[2026-04-22 02:16:46] local.INFO: Saved type row strength  
[2026-04-22 02:16:46] local.INFO: Saved type row conditioning  
[2026-04-22 02:16:46] local.INFO: Saved type row strength  
[2026-04-22 02:16:47] local.INFO: Saved type row conditioning  
[2026-04-22 02:16:47] local.INFO: Saved type row strength  
[2026-04-22 02:16:50] local.INFO: assignWorkoutToClass:  {"workout_id":126,"class_id":294,"type":"workout_manager","action":"assign","date":"22/04/26 Wednesday"} 
[2026-04-22 02:16:51] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:16:51] local.INFO: Saved type row conditioning  
[2026-04-22 02:16:51] local.INFO: Saved type row strength  
[2026-04-22 02:48:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":125,"relation":"straights","format_row_id":61,"workout_libraries_id":77,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":61,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":214,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":215,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":216,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":217,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":218,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:36] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:48:36] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:48:36] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:48:36] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":125,"relation":"straights","format_row_id":61,"workout_libraries_id":77,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":61,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":214,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":215,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":216,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":217,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":218,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:39] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:48:39] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:48:39] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:48:39] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":125,"relation":"straights","format_row_id":61,"workout_libraries_id":77,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":61,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":214,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":215,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":216,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":217,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":218,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:48:42] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:48:42] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:48:42] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:48:42] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":125,"relation":"straights","format_row_id":61,"workout_libraries_id":77,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":61,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":214,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":215,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":216,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":217,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":218,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:27] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:27] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:49:27] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:49:27] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":125,"relation":"straights","format_row_id":61,"workout_libraries_id":77,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":61,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":214,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":215,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":216,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":217,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":218,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:28] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:49:28] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:49:28] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[75]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"}}} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":125,"relation":"straights","format_row_id":61,"workout_libraries_id":77,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":0,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":61,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":214,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":215,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":216,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":217,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5},{"id":218,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:32] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:49:32] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:49:32] local.INFO: Tests retrieved {"count":1,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":61,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":61,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":214,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":215,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":216,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":217,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":218,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":1,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":61,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":214,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":215,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":216,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":217,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":218,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:35] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:35] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:49:35] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:49:35] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":61,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":61,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":214,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":215,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":216,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":217,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":218,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":1,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":61,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":214,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":215,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":216,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":217,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":218,"workout_libraries_id":77,"straight_id":61,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:09:56.000000Z","updated_at":"2026-04-22T02:09:56.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":61,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 02:49:38] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 02:49:38] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:49:38] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:49:38] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 02:50:15] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 02:50:16] local.INFO: Tab value: all  
[2026-04-22 02:50:16] local.INFO: Saved type row conditioning  
[2026-04-22 02:50:16] local.INFO: Saved type row strength  
[2026-04-22 02:50:16] local.INFO: Saved type row conditioning  
[2026-04-22 02:50:16] local.INFO: Saved type row strength  
[2026-04-22 02:50:17] local.INFO: Saved type row conditioning  
[2026-04-22 02:50:17] local.INFO: Saved type row strength  
[2026-04-22 03:01:54] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":1,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:01:54] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:01:54] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:01:54] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:01:54] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":1,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:03] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:02:03] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:02:03] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:02:03] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":1,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:02:17] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:02:17] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:02:17] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:02:17] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":1,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:14:47] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:14:47] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:14:47] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:14:47] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":1,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:16:22] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:16:22] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":1,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:16:22] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:16:22] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:16:22] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":1,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:16:44] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:16:44] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,126],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,126],"types":["Strength","Conditioning"],"formats":["straight-sets","emom"]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":1,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":1},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 03:16:44] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:16:44] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 03:16:44] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:13:06] local.INFO: Tab value: all  
[2026-04-22 05:13:06] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:13:06] local.INFO: Saved type row conditioning  
[2026-04-22 05:13:06] local.INFO: Saved type row strength  
[2026-04-22 05:13:06] local.INFO: Saved type row conditioning  
[2026-04-22 05:13:06] local.INFO: Saved type row strength  
[2026-04-22 05:13:07] local.INFO: Saved type row conditioning  
[2026-04-22 05:13:07] local.INFO: Saved type row strength  
[2026-04-22 05:13:37] local.INFO: Tab value: all  
[2026-04-22 05:13:37] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:13:37] local.INFO: Saved type row accessory  
[2026-04-22 05:13:37] local.INFO: Saved type row conditioning  
[2026-04-22 05:13:37] local.INFO: Saved type row strength  
[2026-04-22 05:13:38] local.INFO: Saved type row accessory  
[2026-04-22 05:13:38] local.INFO: Saved type row conditioning  
[2026-04-22 05:13:38] local.INFO: Saved type row strength  
[2026-04-22 05:13:38] local.INFO: Saved type row accessory  
[2026-04-22 05:13:38] local.INFO: Saved type row conditioning  
[2026-04-22 05:13:38] local.INFO: Saved type row strength  
[2026-04-22 05:13:40] local.INFO: assignWorkoutToClass:  {"workout_id":128,"class_id":294,"type":"workout_manager","action":"assign","date":"22/04/26 Wednesday"} 
[2026-04-22 05:13:40] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-04-22 05:13:40 where `id` = 294) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-04-22 05:13:40 where `id` = 294) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:608)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(608): PDO->prepare('update `classes...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `classes...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-04-22 05:13:46] local.INFO: assignWorkoutToClass:  {"workout_id":128,"class_id":294,"type":"workout_manager","action":"assign","date":"22/04/26 Wednesday"} 
[2026-04-22 05:13:46] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-04-22 05:13:46 where `id` = 294) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' (Connection: mysql, SQL: update `classes` set `is_accessory` = 1, `classes`.`updated_at` = 2026-04-22 05:13:46 where `id` = 294) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_accessory' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:608)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(608): PDO->prepare('update `classes...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('update `classes...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('update `classes...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(600): Illuminate\\Database\\Connection->run('update `classes...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(552): Illuminate\\Database\\Connection->affectingStatement('update `classes...', Array)
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3560): Illuminate\\Database\\Connection->update('update `classes...', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1061): Illuminate\\Database\\Query\\Builder->update(Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1214): Illuminate\\Database\\Eloquent\\Builder->update(Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1131): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(Illuminate\\Database\\Eloquent\\Builder))
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/SessionController.php(1208): Illuminate\\Database\\Eloquent\\Model->save()
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\SessionController->assignWorkoutToClass(Object(Illuminate\\Http\\Request))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('assignWorkoutTo...', Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\SessionController), 'assignWorkoutTo...')
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#58 {main}
"} 
[2026-04-22 05:14:00] local.INFO: Tab value: all  
[2026-04-22 05:14:00] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:14:00] local.INFO: Saved type row strength  
[2026-04-22 05:14:00] local.INFO: Saved type row conditioning  
[2026-04-22 05:14:00] local.INFO: Saved type row strength  
[2026-04-22 05:14:00] local.INFO: Saved type row strength  
[2026-04-22 05:14:00] local.INFO: Saved type row conditioning  
[2026-04-22 05:14:00] local.INFO: Saved type row strength  
[2026-04-22 05:14:01] local.INFO: Saved type row strength  
[2026-04-22 05:14:01] local.INFO: Saved type row conditioning  
[2026-04-22 05:14:01] local.INFO: Saved type row strength  
[2026-04-22 05:14:59] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[122,124,125,126,128],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126,128]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[125,126,128],"types":["Strength","Conditioning"],"formats":["straight-sets","emom","pyramid"]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":16,"rows_with_lib_id":16,"rows_matched":4,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":2}}} 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:14:59] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:14:59] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:14:59] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[122,124,125,126,128],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126,128]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[125,126,128],"types":["Strength","Conditioning"],"formats":["straight-sets","emom","pyramid"]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":16,"rows_with_lib_id":16,"rows_matched":4,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":2}}} 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:15:02] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:02] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:02] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[122,124,125,126,128],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126,128]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[125,126,128],"types":["Strength","Conditioning"],"formats":["straight-sets","emom","pyramid"]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":16,"rows_with_lib_id":16,"rows_matched":4,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":2}}} 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:15:05] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:05] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:05] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[122,124,125,126,128],"types":["warmup","strength","accessory","conditioning"]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,126,128]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[125,126,128],"types":["Strength","Conditioning"],"formats":["straight-sets","emom","pyramid"]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":20,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":21,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":22,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":23,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":24,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":25,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":26,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":27,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":28,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":29,"workout_libraries_id":154,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":30,"workout_libraries_id":144,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":126,"relation":"emoms","format_row_id":31,"workout_libraries_id":98,"available_test_library_ids":[17,77]} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":16,"rows_with_lib_id":16,"rows_matched":4,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":12,"matched":0,"not_matched":12,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":2}}} 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":20,"workout_manager_id":126,"workout_libraries_id":144,"training_load":50,"unit_type":"Kg","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":21,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":22,"workout_manager_id":126,"workout_libraries_id":144,"training_load":55,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":23,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":24,"workout_manager_id":126,"workout_libraries_id":144,"training_load":60,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":25,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":26,"workout_manager_id":126,"workout_libraries_id":144,"training_load":65,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":27,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":28,"workout_manager_id":126,"workout_libraries_id":144,"training_load":70,"unit_type":"Kg","gender":"Male","reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":29,"workout_manager_id":126,"workout_libraries_id":154,"training_load":30,"unit_type":"Kg","gender":"Male","reps":8,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":8,"workout_library":{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z","category_option":{"id":10,"category_name":"Accessory","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":30,"workout_manager_id":126,"workout_libraries_id":144,"training_load":75,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":3,"workout_library":{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z","category_option":{"id":6,"category_name":"Carry/Oly","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":31,"workout_manager_id":126,"workout_libraries_id":98,"training_load":15,"unit_type":"Cal","gender":"Male","reps":1,"created_at":"2026-04-22T02:16:43.000000Z","updated_at":"2026-04-22T02:16:43.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":1,"workout_library":{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:15:06] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:06] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:06] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:18] local.INFO: assignWorkoutToClass:  {"workout_id":126,"class_id":294,"type":"workout_manager","action":"unassign","date":"22/04/26 Wednesday"} 
[2026-04-22 05:15:18] local.INFO: Saved type row strength  
[2026-04-22 05:15:18] local.INFO: Saved type row conditioning  
[2026-04-22 05:15:18] local.INFO: Saved type row strength  
[2026-04-22 05:15:18] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,128],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128]} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,128],"types":["Strength"],"formats":["straight-sets","pyramid"]} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":4,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":1}}} 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:21] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:21] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:21] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:21] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,128],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128]} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,128],"types":["Strength"],"formats":["straight-sets","pyramid"]} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":4,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":1}}} 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:22] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:22] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:22] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:22] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,128],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128]} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,128],"types":["Strength"],"formats":["straight-sets","pyramid"]} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":4,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":1}}} 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:30] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:30] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:30] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:30] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,128],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,128],"types":["Strength"],"formats":["straight-sets","pyramid"]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":4,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":1}}} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:31] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:31] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:31] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,128],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,128],"types":["Strength"],"formats":["straight-sets","pyramid"]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":4,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":1}}} 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:31] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:31] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:31] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:31] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,128],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128]} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,128],"types":["Strength"],"formats":["straight-sets","pyramid"]} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":4,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":1}}} 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:32] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:32] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:32] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:32] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,128],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128]} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,128],"types":["Strength"],"formats":["straight-sets","pyramid"]} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":4,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":1}}} 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:34] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:34] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:34] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:34] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,128],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128]} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,128],"types":["Strength"],"formats":["straight-sets","pyramid"]} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":4,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":1}}} 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:41] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:41] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:41] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:41] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[122,124,125,128],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128]} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,128],"types":["Strength"],"formats":["straight-sets","pyramid"]} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":4,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":1}}} 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:43] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:15:43] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:43] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:43] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:15:49] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:15:49] local.INFO: Tab value: all  
[2026-04-22 05:15:49] local.INFO: Saved type row strength  
[2026-04-22 05:15:49] local.INFO: Saved type row conditioning  
[2026-04-22 05:15:49] local.INFO: Saved type row strength  
[2026-04-22 05:15:49] local.INFO: Saved type row strength  
[2026-04-22 05:15:49] local.INFO: Saved type row conditioning  
[2026-04-22 05:15:49] local.INFO: Saved type row strength  
[2026-04-22 05:15:50] local.INFO: Saved type row strength  
[2026-04-22 05:15:50] local.INFO: Saved type row conditioning  
[2026-04-22 05:15:50] local.INFO: Saved type row strength  
[2026-04-22 05:16:11] local.INFO: assignWorkoutToClass:  {"workout_id":128,"class_id":294,"type":"workout_manager","action":"assign","date":"22/04/26 Wednesday"} 
[2026-04-22 05:16:11] local.INFO: Saved type row strength  
[2026-04-22 05:16:11] local.INFO: Saved type row conditioning  
[2026-04-22 05:16:11] local.INFO: Saved type row strength  
[2026-04-22 05:16:11] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[122,124,125,128],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128]} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,128],"types":["Strength"],"formats":["straight-sets","pyramid"]} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":4,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":1}}} 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:16:24] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:16:24] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:16:24] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:16:24] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":6,"workout_ids":[122,124,125,128],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128]} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[125,128],"types":["Strength"],"formats":["straight-sets","pyramid"]} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":4,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":1}}} 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:16:25] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:16:25] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:16:25] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:16:25] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:19:11] local.INFO: Tab value: all  
[2026-04-22 05:19:11] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:19:11] local.INFO: Saved type row warmup  
[2026-04-22 05:19:11] local.INFO: Saved type row strength  
[2026-04-22 05:19:11] local.INFO: Saved type row conditioning  
[2026-04-22 05:19:11] local.INFO: Saved type row strength  
[2026-04-22 05:19:12] local.INFO: Saved type row warmup  
[2026-04-22 05:19:12] local.INFO: Saved type row strength  
[2026-04-22 05:19:12] local.INFO: Saved type row conditioning  
[2026-04-22 05:19:12] local.INFO: Saved type row strength  
[2026-04-22 05:19:12] local.INFO: Saved type row warmup  
[2026-04-22 05:19:12] local.INFO: Saved type row strength  
[2026-04-22 05:19:12] local.INFO: Saved type row conditioning  
[2026-04-22 05:19:12] local.INFO: Saved type row strength  
[2026-04-22 05:19:15] local.INFO: assignWorkoutToClass:  {"workout_id":129,"class_id":294,"type":"workout_manager","action":"assign","date":"22/04/26 Wednesday"} 
[2026-04-22 05:19:15] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:19:15] local.INFO: Saved type row warmup  
[2026-04-22 05:19:15] local.INFO: Saved type row strength  
[2026-04-22 05:19:15] local.INFO: Saved type row conditioning  
[2026-04-22 05:19:15] local.INFO: Saved type row strength  
[2026-04-22 05:19:23] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[122,124,125,128,129],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128,129]} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[125,128,129],"types":["Strength","Warmup"],"formats":["straight-sets","pyramid","circuit"]} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":129,"relation":"circuits","format_row_id":6,"workout_libraries_id":16,"available_test_library_ids":[17,77]} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":129,"relation":"circuits","format_row_id":7,"workout_libraries_id":21,"available_test_library_ids":[17,77]} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":129,"relation":"circuits","format_row_id":8,"workout_libraries_id":23,"available_test_library_ids":[17,77]} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":3,"matched":0,"not_matched":3,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":2}}} 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"stationumber":1,"workout_manager_id":129,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","gender":null,"reps":0,"created_at":"2026-04-22T05:19:09.000000Z","updated_at":"2026-04-22T05:19:09.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"stationumber":1,"workout_manager_id":129,"workout_libraries_id":21,"training_load":60,"unit_type":"Cal","gender":null,"reps":0,"created_at":"2026-04-22T05:19:09.000000Z","updated_at":"2026-04-22T05:19:09.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:19:23] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"stationumber":2,"workout_manager_id":129,"workout_libraries_id":23,"training_load":null,"unit_type":"BW","gender":null,"reps":0,"created_at":"2026-04-22T05:19:09.000000Z","updated_at":"2026-04-22T05:19:09.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:19:23] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:19:23] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:19:23] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[122,124,125,128,129],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128,129]} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[125,128,129],"types":["Strength","Warmup"],"formats":["straight-sets","pyramid","circuit"]} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":129,"relation":"circuits","format_row_id":6,"workout_libraries_id":16,"available_test_library_ids":[17,77]} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":129,"relation":"circuits","format_row_id":7,"workout_libraries_id":21,"available_test_library_ids":[17,77]} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":129,"relation":"circuits","format_row_id":8,"workout_libraries_id":23,"available_test_library_ids":[17,77]} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":3,"matched":0,"not_matched":3,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":2}}} 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":6,"stationumber":1,"workout_manager_id":129,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","gender":null,"reps":0,"created_at":"2026-04-22T05:19:09.000000Z","updated_at":"2026-04-22T05:19:09.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":7,"stationumber":1,"workout_manager_id":129,"workout_libraries_id":21,"training_load":60,"unit_type":"Cal","gender":null,"reps":0,"created_at":"2026-04-22T05:19:09.000000Z","updated_at":"2026-04-22T05:19:09.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:20:28] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":8,"stationumber":2,"workout_manager_id":129,"workout_libraries_id":23,"training_load":null,"unit_type":"BW","gender":null,"reps":0,"created_at":"2026-04-22T05:19:09.000000Z","updated_at":"2026-04-22T05:19:09.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:20:28] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:20:28] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:20:28] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-22 05:20:40] local.INFO: Day received: {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:20:40] local.INFO: Tab value: all  
[2026-04-22 05:20:41] local.INFO: Saved type row accessory  
[2026-04-22 05:20:41] local.INFO: Saved type row strength  
[2026-04-22 05:20:41] local.INFO: Saved type row conditioning  
[2026-04-22 05:20:41] local.INFO: Saved type row strength  
[2026-04-22 05:20:41] local.INFO: Saved type row accessory  
[2026-04-22 05:20:41] local.INFO: Saved type row strength  
[2026-04-22 05:20:41] local.INFO: Saved type row conditioning  
[2026-04-22 05:20:41] local.INFO: Saved type row strength  
[2026-04-22 05:20:41] local.INFO: Saved type row accessory  
[2026-04-22 05:20:41] local.INFO: Saved type row strength  
[2026-04-22 05:20:41] local.INFO: Saved type row conditioning  
[2026-04-22 05:20:41] local.INFO: Saved type row strength  
[2026-04-22 05:20:44] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/04/26 Wednesday","date_obj":"2026-04-22"} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday","patterns":["22/04/26 Wednesday","22/04/26","22/04/2026","22/04/26 Wednesday","22/04/2026 Wednesday","Wednesday 22/04/26","Wednesday 22/04/2026"]} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,77],"test_ids":[75,76]} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,77],"testMap_sample":{"17":{"test_id":75,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 00:41:37"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"}}} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":294,"date_string":"22/04/26 Wednesday"} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":7,"workout_ids":[122,124,125,128,129],"types":["warmup","strength","accessory"]} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[122,124,125,128,129]} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[125,128,129],"types":["Strength","Accessory"],"formats":["straight-sets","pyramid","circuit"]} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,77]} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":125,"relation":"straights","format_row_id":62,"workout_libraries_id":77,"attached_test_id":76,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":11,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":12,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":128,"relation":"pyramids","format_row_id":13,"workout_libraries_id":17,"attached_test_id":75,"attached_test_weight":150.0,"attached_unit_type":"kg","row_data":{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":129,"relation":"circuits","format_row_id":9,"workout_libraries_id":16,"available_test_library_ids":[17,77]} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":129,"relation":"circuits","format_row_id":10,"workout_libraries_id":21,"available_test_library_ids":[17,77]} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":129,"relation":"circuits","format_row_id":11,"workout_libraries_id":23,"available_test_library_ids":[17,77]} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":4,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":3,"matched":0,"not_matched":3,"empty":2},"pyramids":{"seen":3,"matched":3,"not_matched":0,"empty":2}}} 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":62,"workout_manager_id":125,"workout_libraries_id":77,"training_load":120,"unit_type":"Kg","reps":5,"created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","format_table":"straights","workout_library":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"sets":[{"id":219,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":120,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":220,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":150,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":221,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":180,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":222,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":200,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5},{"id":223,"workout_libraries_id":77,"straight_id":62,"res":5,"training_load":220,"unittype":"Kg","created_at":"2026-04-22T02:50:12.000000Z","updated_at":"2026-04-22T02:50:12.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":150.0,"test_unit_type":"kg","test_id":76,"test_created_at":"2026-04-22 02:49:35","format_row_id":62,"format_relation":"straights","is_completed":0,"daily_reps":0,"target_reps":5}]}] 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"workout_manager_id":128,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":11,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":12,"workout_manager_id":128,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":12,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":13,"workout_manager_id":128,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-04-22T05:13:57.000000Z","updated_at":"2026-04-22T05:13:57.000000Z","test_weight":150.0,"test_unit_type":"kg","test_id":75,"test_created_at":"2026-04-22 00:41:37","format_row_id":13,"format_relation":"pyramids","format_table":"pyramids","is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":5,"workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":9,"stationumber":1,"workout_manager_id":129,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","gender":null,"reps":0,"created_at":"2026-04-22T05:20:38.000000Z","updated_at":"2026-04-22T05:20:38.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}] 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":10,"stationumber":1,"workout_manager_id":129,"workout_libraries_id":21,"training_load":60,"unit_type":"Cal","gender":null,"reps":0,"created_at":"2026-04-22T05:20:38.000000Z","updated_at":"2026-04-22T05:20:38.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:20:44] local.INFO: [getWorkouts][Completion Check] Processing format item [{"id":11,"stationumber":2,"workout_manager_id":129,"workout_libraries_id":23,"training_load":null,"unit_type":"BW","gender":null,"reps":0,"created_at":"2026-04-22T05:20:38.000000Z","updated_at":"2026-04-22T05:20:38.000000Z","test_weight":null,"test_unit_type":null,"test_id":null,"test_created_at":null,"is_completed":0,"has_reps_saved":0,"daily_reps":0,"target_reps":0,"workout_library":{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}] 
[2026-04-22 05:20:44] local.INFO: Day received (raw): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:20:44] local.INFO: Day received (sanitized): {"day":"22/04/26 Wednesday"} 
[2026-04-22 05:20:44] local.INFO: Tests retrieved {"count":2,"tests":[{"id":75,"workout_manager_id":123,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T00:41:37.000000Z","updated_at":"2026-04-22T00:41:37.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Hinge","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-04-23 01:42:58] local.INFO: Day received: {"day":"23/04/26 Thursday"} 
[2026-04-23 01:42:58] local.INFO: Tab value: all  
[2026-04-23 01:44:18] local.INFO: Day received: {"day":"23/04/26 Thursday"} 
[2026-04-23 01:44:18] local.INFO: Tab value: all  
[2026-04-23 01:44:20] local.INFO: Saved type row strength  
[2026-04-23 01:44:20] local.INFO: Saved type row strength  
[2026-04-23 01:44:20] local.INFO: Saved type row strength  
[2026-04-23 01:44:20] local.INFO: Saved type row strength  
[2026-04-23 01:44:21] local.INFO: Saved type row strength  
[2026-04-23 01:44:21] local.INFO: Saved type row strength  
[2026-04-23 01:45:01] local.INFO: Day received: {"day":"23/04/26 Thursday"} 
[2026-04-23 01:45:01] local.INFO: Tab value: all  
[2026-04-23 01:45:01] local.INFO: Saved type row strength  
[2026-04-23 01:45:01] local.INFO: Saved type row strength  
[2026-04-23 01:45:02] local.INFO: Saved type row strength  
[2026-04-23 01:45:02] local.INFO: Saved type row strength  
[2026-04-23 01:45:02] local.INFO: Saved type row strength  
[2026-04-23 01:45:02] local.INFO: Saved type row strength  
[2026-04-23 01:45:30] local.INFO: Saved type row strength  
[2026-04-23 01:47:55] local.INFO: Day received: {"day":"23/04/26 Thursday"} 
[2026-04-23 01:47:55] local.INFO: Tab value: all  
[2026-04-23 01:47:55] local.INFO: Saved type row strength  
[2026-04-23 01:47:55] local.INFO: Saved type row strength  
[2026-04-23 01:47:56] local.INFO: Saved type row strength  
[2026-04-23 01:50:23] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (132, 147, ?, m, 12, ?, 2026-04-23 01:50:23, 2026-04-23 01:50:23)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (132, 147, ?, m, 12, ?, 2026-04-23 01:50:23, 2026-04-23 01:50:23)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 132)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 132)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-23 06:42:44] local.INFO: Day received: {"day":"23/04/26 Thursday"} 
[2026-04-23 06:42:44] local.INFO: Tab value: all  
[2026-04-23 06:42:44] local.INFO: Saved type row conditioning  
[2026-04-23 06:42:44] local.INFO: Saved type row strength  
[2026-04-23 06:42:44] local.INFO: Saved type row conditioning  
[2026-04-23 06:42:44] local.INFO: Saved type row strength  
[2026-04-23 06:42:45] local.INFO: Saved type row conditioning  
[2026-04-23 06:42:45] local.INFO: Saved type row strength  
[2026-04-24 01:34:24] local.INFO: Tab value: all  
[2026-04-24 01:34:24] local.INFO: Day received: {"day":"24/04/26 Friday"} 
[2026-04-24 01:34:26] local.INFO: Day received: {"day":"23/04/26 Thursday"} 
[2026-04-24 01:34:28] local.INFO: Saved type row conditioning  
[2026-04-24 01:34:28] local.INFO: Saved type row strength  
[2026-04-24 01:34:35] local.INFO: assignWorkoutToClass:  {"workout_id":131,"class_id":295,"type":"workout_manager","action":"assign","date":"23/04/26 Thursday"} 
[2026-04-24 01:34:36] local.INFO: Saved type row conditioning  
[2026-04-24 01:34:36] local.INFO: Saved type row strength  
[2026-04-24 01:34:36] local.INFO: Day received: {"day":"23/04/26 Thursday"} 
[2026-04-24 01:34:39] local.INFO: assignWorkoutToClass:  {"workout_id":132,"class_id":295,"type":"workout_manager","action":"assign","date":"23/04/26 Thursday"} 
[2026-04-24 01:34:39] local.INFO: Saved type row conditioning  
[2026-04-24 01:34:39] local.INFO: Saved type row strength  
[2026-04-24 01:34:39] local.INFO: Day received: {"day":"23/04/26 Thursday"} 
[2026-04-27 02:36:06] local.INFO: Day received: {"day":"27/04/26 Monday"} 
[2026-04-27 02:36:06] local.INFO: Tab value: all  
[2026-04-27 02:36:56] local.INFO: Day received: {"day":"27/04/26 Monday"} 
[2026-04-27 02:36:56] local.INFO: Tab value: all  
[2026-04-27 02:36:57] local.INFO: Saved type row strength  
[2026-04-27 02:36:57] local.INFO: Saved type row strength  
[2026-04-27 02:36:57] local.INFO: Saved type row strength  
[2026-04-27 02:38:41] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (134, 102, ?, m, 20, ?, 2026-04-27 02:38:41, 2026-04-27 02:38:41)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (134, 102, ?, m, 20, ?, 2026-04-27 02:38:41, 2026-04-27 02:38:41)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 134)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 134)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-27 02:39:00] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (135, 102, 20, m, 20, ?, 2026-04-27 02:39:00, 2026-04-27 02:39:00)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (135, 102, 20, m, 20, ?, 2026-04-27 02:39:00, 2026-04-27 02:39:00)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 135)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 135)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-27 02:39:33] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (136, 102, 20, m, 20, ?, 2026-04-27 02:39:33, 2026-04-27 02:39:33)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (136, 102, 20, m, 20, ?, 2026-04-27 02:39:33, 2026-04-27 02:39:33)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 136)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 136)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-27 02:39:55] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (137, 102, 20, m, 20, ?, 2026-04-27 02:39:55, 2026-04-27 02:39:55)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (137, 102, 20, m, 20, ?, 2026-04-27 02:39:55, 2026-04-27 02:39:55)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 137)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 137)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-27 02:42:49] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (138, 102, 1, m, 20, ?, 2026-04-27 02:42:49, 2026-04-27 02:42:49)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (138, 102, 1, m, 20, ?, 2026-04-27 02:42:49, 2026-04-27 02:42:49)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 138)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 138)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-27 02:52:52] local.INFO: Tab value: all  
[2026-04-27 02:52:53] local.INFO: Saved type row conditioning  
[2026-04-27 02:52:53] local.INFO: Saved type row conditioning  
[2026-04-27 02:52:53] local.INFO: Saved type row conditioning  
[2026-04-27 02:52:53] local.INFO: Saved type row conditioning  
[2026-04-27 02:52:53] local.INFO: Saved type row conditioning  
[2026-04-27 02:52:53] local.INFO: Saved type row strength  
[2026-04-27 02:52:53] local.INFO: Saved type row conditioning  
[2026-04-27 02:52:53] local.INFO: Saved type row conditioning  
[2026-04-27 02:52:53] local.INFO: Saved type row conditioning  
[2026-04-27 02:52:53] local.INFO: Saved type row conditioning  
[2026-04-27 02:52:53] local.INFO: Saved type row conditioning  
[2026-04-27 02:52:53] local.INFO: Saved type row strength  
[2026-04-27 02:53:05] local.INFO: Saved type row conditioning  
[2026-04-27 02:53:05] local.INFO: Saved type row conditioning  
[2026-04-27 02:53:05] local.INFO: Saved type row conditioning  
[2026-04-27 02:53:05] local.INFO: Saved type row conditioning  
[2026-04-27 02:53:05] local.INFO: Saved type row strength  
[2026-04-27 02:53:12] local.INFO: Saved type row conditioning  
[2026-04-27 02:53:12] local.INFO: Saved type row conditioning  
[2026-04-27 02:53:12] local.INFO: Saved type row conditioning  
[2026-04-27 02:53:12] local.INFO: Saved type row strength  
[2026-04-27 02:53:19] local.INFO: Saved type row conditioning  
[2026-04-27 02:53:19] local.INFO: Saved type row conditioning  
[2026-04-27 02:53:19] local.INFO: Saved type row strength  
[2026-04-27 02:53:27] local.INFO: Saved type row conditioning  
[2026-04-27 02:53:27] local.INFO: Saved type row strength  
[2026-04-27 02:54:06] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (136, 102, 20, m, 1, ?, 2026-04-27 02:54:06, 2026-04-27 02:54:06)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (136, 102, 20, m, 1, ?, 2026-04-27 02:54:06, 2026-04-27 02:54:06)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(189): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 136)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->update(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('update', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'update')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(189): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 136)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->update(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('update', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'update')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-27 03:04:26] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (136, 102, 20, m, 1, ?, 2026-04-27 03:04:26, 2026-04-27 03:04:26)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `updated_at`, `created_at`) values (136, 102, 20, m, 1, ?, 2026-04-27 03:04:26, 2026-04-27 03:04:26)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(189): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 136)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->update(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('update', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'update')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(189): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 136)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->update(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('update', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'update')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-04-27 03:24:15] local.INFO: Tab value: all  
[2026-04-27 03:24:16] local.INFO: Saved type row conditioning  
[2026-04-27 03:24:16] local.INFO: Saved type row strength  
[2026-04-27 05:32:29] local.INFO: Day received: {"day":"27/04/26 Monday"} 
[2026-04-27 05:32:29] local.INFO: Tab value: all  
[2026-04-27 05:32:30] local.INFO: Saved type row conditioning  
[2026-04-27 05:32:30] local.INFO: Saved type row strength  
[2026-04-27 05:32:30] local.INFO: Saved type row conditioning  
[2026-04-27 05:32:30] local.INFO: Saved type row strength  
[2026-04-27 05:32:30] local.INFO: Saved type row conditioning  
[2026-04-27 05:32:30] local.INFO: Saved type row strength  
[2026-04-29 06:53:27] local.INFO: Day received: {"day":"29/04/26 Wednesday"} 
[2026-04-29 06:53:27] local.INFO: Tab value: all  
[2026-05-04 02:53:21] local.INFO: Day received: {"day":"04/05/26 Monday"} 
[2026-05-04 02:53:21] local.INFO: Tab value: all  
[2026-05-05 02:58:17] local.INFO: Tab value: all  
[2026-05-05 02:58:17] local.INFO: Day received: {"day":"05/05/26 Tuesday"} 
[2026-05-18 02:10:49] local.INFO: Day received: {"day":"18/05/26 Monday"} 
[2026-05-18 02:10:49] local.INFO: Tab value: all  
[2026-05-27 13:33:00] local.INFO: mobile login pin : 3333  
[2026-05-27 14:34:02] local.INFO: mobile login pin : 3333  
[2026-05-27 16:25:29] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":153,"category_options_id":6,"type":null,"workout":"Snatch","link":null,"created_at":"2026-04-15T03:50:34.000000Z","updated_at":"2026-04-15T03:50:34.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","58":"Warmup","60":"Select","81":"Weightlifting"}}} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":30,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":32,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":33,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":36,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":38,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":40,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":45,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":47,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":49,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":51,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":66,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":67,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":69,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":71,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-05-27 16:25:30] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-05-27 16:25:30] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-05-27 16:25:30] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-05-27 16:25:30] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-05-27 16:25:30] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-05-27 16:25:30] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-05-27 16:25:30] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-05-27 16:25:30] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-05-27 16:25:30] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":41,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":43,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":44,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":84,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":86,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":88,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-05-27 16:25:31] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-05-27 17:32:14] local.INFO: mobile login pin : 3333  
[2026-05-27 17:32:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"27/05/26 Wednesday","date_obj":"2026-05-27"} 
[2026-05-27 17:32:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday","patterns":["27/05/26 Wednesday","27/05/26","27/05/2026","27/05/26 Wednesday","27/05/2026 Wednesday","Wednesday 27/05/26","Wednesday 27/05/2026"]} 
[2026-05-27 17:32:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 17:32:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 17:32:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 17:32:26] local.WARNING: [getWorkouts] No workout assignments found {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"27/05/26 Wednesday","date_obj":"2026-05-27"} 
[2026-05-27 17:32:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday","patterns":["27/05/26 Wednesday","27/05/26","27/05/2026","27/05/26 Wednesday","27/05/2026 Wednesday","Wednesday 27/05/26","Wednesday 27/05/2026"]} 
[2026-05-27 17:32:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 17:32:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 17:32:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 17:32:29] local.WARNING: [getWorkouts] No workout assignments found {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:30] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"27/05/26 Wednesday","date_obj":"2026-05-27"} 
[2026-05-27 17:32:30] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday","patterns":["27/05/26 Wednesday","27/05/26","27/05/2026","27/05/26 Wednesday","27/05/2026 Wednesday","Wednesday 27/05/26","Wednesday 27/05/2026"]} 
[2026-05-27 17:32:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 17:32:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 17:32:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 17:32:30] local.WARNING: [getWorkouts] No workout assignments found {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"27/05/26 Wednesday","date_obj":"2026-05-27"} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday","patterns":["27/05/26 Wednesday","27/05/26","27/05/2026","27/05/26 Wednesday","27/05/2026 Wednesday","Wednesday 27/05/26","Wednesday 27/05/2026"]} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 17:32:31] local.WARNING: [getWorkouts] No workout assignments found {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"27/05/26 Wednesday","date_obj":"2026-05-27"} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday","patterns":["27/05/26 Wednesday","27/05/26","27/05/2026","27/05/26 Wednesday","27/05/2026 Wednesday","Wednesday 27/05/26","Wednesday 27/05/2026"]} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 17:32:31] local.WARNING: [getWorkouts] No workout assignments found {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"27/05/26 Wednesday","date_obj":"2026-05-27"} 
[2026-05-27 17:32:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday","patterns":["27/05/26 Wednesday","27/05/26","27/05/2026","27/05/26 Wednesday","27/05/2026 Wednesday","Wednesday 27/05/26","Wednesday 27/05/2026"]} 
[2026-05-27 17:32:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 17:32:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 17:32:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 17:32:32] local.WARNING: [getWorkouts] No workout assignments found {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"27/05/26 Wednesday","date_obj":"2026-05-27"} 
[2026-05-27 17:32:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday","patterns":["27/05/26 Wednesday","27/05/26","27/05/2026","27/05/26 Wednesday","27/05/2026 Wednesday","Wednesday 27/05/26","Wednesday 27/05/2026"]} 
[2026-05-27 17:32:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 17:32:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 17:32:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 17:32:33] local.WARNING: [getWorkouts] No workout assignments found {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"27/05/26 Wednesday","date_obj":"2026-05-27"} 
[2026-05-27 17:32:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday","patterns":["27/05/26 Wednesday","27/05/26","27/05/2026","27/05/26 Wednesday","27/05/2026 Wednesday","Wednesday 27/05/26","Wednesday 27/05/2026"]} 
[2026-05-27 17:32:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 17:32:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 17:32:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 17:32:34] local.WARNING: [getWorkouts] No workout assignments found {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"27/05/26 Wednesday","date_obj":"2026-05-27"} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday","patterns":["27/05/26 Wednesday","27/05/26","27/05/2026","27/05/26 Wednesday","27/05/2026 Wednesday","Wednesday 27/05/26","Wednesday 27/05/2026"]} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 17:32:35] local.WARNING: [getWorkouts] No workout assignments found {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"27/05/26 Wednesday","date_obj":"2026-05-27"} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday","patterns":["27/05/26 Wednesday","27/05/26","27/05/2026","27/05/26 Wednesday","27/05/2026 Wednesday","Wednesday 27/05/26","Wednesday 27/05/2026"]} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 17:32:35] local.WARNING: [getWorkouts] No workout assignments found {"class_id":319,"date_string":"27/05/26 Wednesday"} 
[2026-05-27 17:32:39] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":153,"category_options_id":6,"type":null,"workout":"Snatch","link":null,"created_at":"2026-04-15T03:50:34.000000Z","updated_at":"2026-04-15T03:50:34.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","58":"Warmup","60":"Select","81":"Weightlifting"}}} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":30,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":32,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":33,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":36,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":38,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":40,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":45,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":47,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":49,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":51,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":66,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":67,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":69,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":71,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":41,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":43,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":44,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":84,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":86,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":88,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-05-27 17:32:40] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-05-27 17:34:48] local.INFO: mobile login pin : 6333  
[2026-05-27 19:02:24] local.INFO: mobile login pin : 3333  
[2026-05-27 19:02:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"28/05/26 Thursday","date_obj":"2026-05-28"} 
[2026-05-27 19:02:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday","patterns":["28/05/26 Thursday","28/05/26","28/05/2026","28/05/26 Thursday","28/05/2026 Thursday","Thursday 28/05/26","Thursday 28/05/2026"]} 
[2026-05-27 19:02:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 19:02:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 19:02:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 19:02:42] local.WARNING: [getWorkouts] No workout assignments found {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:44] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"28/05/26 Thursday","date_obj":"2026-05-28"} 
[2026-05-27 19:02:44] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday","patterns":["28/05/26 Thursday","28/05/26","28/05/2026","28/05/26 Thursday","28/05/2026 Thursday","Thursday 28/05/26","Thursday 28/05/2026"]} 
[2026-05-27 19:02:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 19:02:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 19:02:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 19:02:44] local.WARNING: [getWorkouts] No workout assignments found {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"28/05/26 Thursday","date_obj":"2026-05-28"} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday","patterns":["28/05/26 Thursday","28/05/26","28/05/2026","28/05/26 Thursday","28/05/2026 Thursday","Thursday 28/05/26","Thursday 28/05/2026"]} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 19:02:45] local.WARNING: [getWorkouts] No workout assignments found {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"28/05/26 Thursday","date_obj":"2026-05-28"} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday","patterns":["28/05/26 Thursday","28/05/26","28/05/2026","28/05/26 Thursday","28/05/2026 Thursday","Thursday 28/05/26","Thursday 28/05/2026"]} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 19:02:45] local.WARNING: [getWorkouts] No workout assignments found {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"28/05/26 Thursday","date_obj":"2026-05-28"} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday","patterns":["28/05/26 Thursday","28/05/26","28/05/2026","28/05/26 Thursday","28/05/2026 Thursday","Thursday 28/05/26","Thursday 28/05/2026"]} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 19:02:46] local.WARNING: [getWorkouts] No workout assignments found {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"28/05/26 Thursday","date_obj":"2026-05-28"} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday","patterns":["28/05/26 Thursday","28/05/26","28/05/2026","28/05/26 Thursday","28/05/2026 Thursday","Thursday 28/05/26","Thursday 28/05/2026"]} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 19:02:46] local.WARNING: [getWorkouts] No workout assignments found {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"28/05/26 Thursday","date_obj":"2026-05-28"} 
[2026-05-27 19:02:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday","patterns":["28/05/26 Thursday","28/05/26","28/05/2026","28/05/26 Thursday","28/05/2026 Thursday","Thursday 28/05/26","Thursday 28/05/2026"]} 
[2026-05-27 19:02:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-05-27 19:02:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-05-27 19:02:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-05-27 19:02:49] local.WARNING: [getWorkouts] No workout assignments found {"class_id":143,"date_string":"28/05/26 Thursday"} 
[2026-05-27 19:02:54] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":153,"category_options_id":6,"type":null,"workout":"Snatch","link":null,"created_at":"2026-04-15T03:50:34.000000Z","updated_at":"2026-04-15T03:50:34.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","58":"Warmup","60":"Select","81":"Weightlifting"}}} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":30,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":32,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":33,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":36,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":38,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":40,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":45,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":47,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":49,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":51,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":66,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":67,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":69,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":71,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":41,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":43,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":44,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":84,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":86,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":88,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-05-27 19:02:55] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-05-28 06:37:23] local.INFO: mobile login pin : 2738  
[2026-06-02 00:22:12] local.INFO: Tab value: all  
[2026-06-02 00:22:12] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row accessory  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row accessory  
[2026-06-02 00:22:13] local.INFO: Saved type row accessory  
[2026-06-02 00:22:13] local.INFO: Saved type row accessory  
[2026-06-02 00:22:13] local.INFO: Saved type row accessory  
[2026-06-02 00:22:13] local.INFO: Saved type row accessory  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row accessory  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row accessory  
[2026-06-02 00:22:13] local.INFO: Saved type row accessory  
[2026-06-02 00:22:13] local.INFO: Saved type row accessory  
[2026-06-02 00:22:13] local.INFO: Saved type row accessory  
[2026-06-02 00:22:13] local.INFO: Saved type row accessory  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:13] local.INFO: Saved type row strength  
[2026-06-02 00:22:13] local.INFO: Saved type row warmup  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row accessory  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row warmup  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row warmup  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row warmup  
[2026-06-02 00:22:14] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row warmup  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:14] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:14] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:14] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row accessory  
[2026-06-02 00:22:14] local.INFO: Saved type row accessory  
[2026-06-02 00:22:14] local.INFO: Saved type row accessory  
[2026-06-02 00:22:14] local.INFO: Saved type row accessory  
[2026-06-02 00:22:14] local.INFO: Saved type row accessory  
[2026-06-02 00:22:14] local.INFO: Saved type row warmup  
[2026-06-02 00:22:14] local.INFO: Saved type row warmup  
[2026-06-02 00:22:14] local.INFO: Saved type row warmup  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row warmup  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row warmup  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row conditioning  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row warmup  
[2026-06-02 00:22:14] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:14] local.INFO: Saved type row weightlifting  
[2026-06-02 00:22:14] local.INFO: Saved type row strength  
[2026-06-02 00:22:14] local.INFO: Saved type row warmup  
[2026-06-02 00:22:27] local.INFO: mobile login pin : 7825  
[2026-06-02 00:23:55] local.INFO: Tab value: all  
[2026-06-02 00:23:55] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row accessory  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:55] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:55] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:55] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row accessory  
[2026-06-02 00:23:55] local.INFO: Saved type row accessory  
[2026-06-02 00:23:55] local.INFO: Saved type row accessory  
[2026-06-02 00:23:55] local.INFO: Saved type row accessory  
[2026-06-02 00:23:55] local.INFO: Saved type row accessory  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:55] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row accessory  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row warmup  
[2026-06-02 00:23:55] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row strength  
[2026-06-02 00:23:55] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:55] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:55] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:55] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row accessory  
[2026-06-02 00:23:56] local.INFO: Saved type row accessory  
[2026-06-02 00:23:56] local.INFO: Saved type row accessory  
[2026-06-02 00:23:56] local.INFO: Saved type row accessory  
[2026-06-02 00:23:56] local.INFO: Saved type row accessory  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:56] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row accessory  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:56] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:56] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:56] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row accessory  
[2026-06-02 00:23:56] local.INFO: Saved type row accessory  
[2026-06-02 00:23:56] local.INFO: Saved type row accessory  
[2026-06-02 00:23:56] local.INFO: Saved type row accessory  
[2026-06-02 00:23:56] local.INFO: Saved type row accessory  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row conditioning  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:23:56] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:56] local.INFO: Saved type row weightlifting  
[2026-06-02 00:23:56] local.INFO: Saved type row strength  
[2026-06-02 00:23:56] local.INFO: Saved type row warmup  
[2026-06-02 00:24:00] local.INFO: assignWorkoutToClass:  {"workout_id":139,"class_id":323,"type":"workout_manager","action":"assign","date":"02/06/26 Tuesday"} 
[2026-06-02 00:24:00] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row accessory  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row warmup  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row warmup  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row warmup  
[2026-06-02 00:24:00] local.INFO: Saved type row weightlifting  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row warmup  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row weightlifting  
[2026-06-02 00:24:00] local.INFO: Saved type row weightlifting  
[2026-06-02 00:24:00] local.INFO: Saved type row weightlifting  
[2026-06-02 00:24:00] local.INFO: Saved type row weightlifting  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row accessory  
[2026-06-02 00:24:00] local.INFO: Saved type row accessory  
[2026-06-02 00:24:00] local.INFO: Saved type row accessory  
[2026-06-02 00:24:00] local.INFO: Saved type row accessory  
[2026-06-02 00:24:00] local.INFO: Saved type row accessory  
[2026-06-02 00:24:00] local.INFO: Saved type row warmup  
[2026-06-02 00:24:00] local.INFO: Saved type row warmup  
[2026-06-02 00:24:00] local.INFO: Saved type row warmup  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row warmup  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row warmup  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row conditioning  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row warmup  
[2026-06-02 00:24:00] local.INFO: Saved type row weightlifting  
[2026-06-02 00:24:00] local.INFO: Saved type row weightlifting  
[2026-06-02 00:24:00] local.INFO: Saved type row strength  
[2026-06-02 00:24:00] local.INFO: Saved type row warmup  
[2026-06-02 00:24:25] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:24:25] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:24:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-02 00:24:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-02 00:24:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[139],"types":["strength"]} 
[2026-06-02 00:24:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139]} 
[2026-06-02 00:24:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[139],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-02 00:24:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-02 00:24:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-02 00:24:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-02 00:24:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-02 00:24:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:24:26] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:24:26] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:24:26] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[139],"types":["strength"]} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139]} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[139],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-02 00:24:28] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:24:28] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:24:28] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:24:28] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[139],"types":["strength"]} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139]} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[139],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-02 00:24:38] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:24:38] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:24:38] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:24:38] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[139],"types":["strength"]} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139]} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[139],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-02 00:24:50] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:24:50] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:24:50] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:24:50] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[139],"types":["strength"]} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139]} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[139],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-02 00:24:53] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:24:53] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:24:53] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:24:53] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:26:53] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (141, 16, ?, N/A, 5, ?, 1, 2026-06-02 00:26:53, 2026-06-02 00:26:53)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (141, 16, ?, N/A, 5, ?, 1, 2026-06-02 00:26:53, 2026-06-02 00:26:53)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 141)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 141)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[139],"types":["strength"]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[139],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:31:53] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:31:53] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:31:53] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[139],"types":["strength"]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[139],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-02 00:31:53] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:31:53] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:31:53] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:31:53] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:32:04] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:32:04] local.INFO: Tab value: all  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row accessory  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row warmup  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row warmup  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row warmup  
[2026-06-02 00:32:04] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row warmup  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:04] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:04] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:04] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row accessory  
[2026-06-02 00:32:04] local.INFO: Saved type row accessory  
[2026-06-02 00:32:04] local.INFO: Saved type row accessory  
[2026-06-02 00:32:04] local.INFO: Saved type row accessory  
[2026-06-02 00:32:04] local.INFO: Saved type row accessory  
[2026-06-02 00:32:04] local.INFO: Saved type row warmup  
[2026-06-02 00:32:04] local.INFO: Saved type row warmup  
[2026-06-02 00:32:04] local.INFO: Saved type row warmup  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row warmup  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row warmup  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row warmup  
[2026-06-02 00:32:04] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:04] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:04] local.INFO: Saved type row strength  
[2026-06-02 00:32:04] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row accessory  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row accessory  
[2026-06-02 00:32:05] local.INFO: Saved type row accessory  
[2026-06-02 00:32:05] local.INFO: Saved type row accessory  
[2026-06-02 00:32:05] local.INFO: Saved type row accessory  
[2026-06-02 00:32:05] local.INFO: Saved type row accessory  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row accessory  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row accessory  
[2026-06-02 00:32:05] local.INFO: Saved type row accessory  
[2026-06-02 00:32:05] local.INFO: Saved type row accessory  
[2026-06-02 00:32:05] local.INFO: Saved type row accessory  
[2026-06-02 00:32:05] local.INFO: Saved type row accessory  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row conditioning  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row weightlifting  
[2026-06-02 00:32:05] local.INFO: Saved type row strength  
[2026-06-02 00:32:05] local.INFO: Saved type row warmup  
[2026-06-02 00:32:49] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (141, 21, 12, Cal, ?, ?, 1, 2026-06-02 00:32:49, 2026-06-02 00:32:49)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (141, 21, 12, Cal, ?, ?, 1, 2026-06-02 00:32:49, 2026-06-02 00:32:49)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(193): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 141)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->update(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('update', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'update')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(193): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 141)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->update(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('update', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'update')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-02 00:33:22] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (141, 21, 12, Cal, ?, Male, 1, 2026-06-02 00:33:22, 2026-06-02 00:33:22)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (141, 21, 12, Cal, ?, Male, 1, 2026-06-02 00:33:22, 2026-06-02 00:33:22)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(193): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 141)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->update(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('update', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'update')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(193): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 141)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->update(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('update', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'update')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-02 00:34:34] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:34:34] local.INFO: Tab value: all  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row accessory  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row warmup  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row warmup  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row warmup  
[2026-06-02 00:34:34] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row warmup  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:34] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:34] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:34] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row accessory  
[2026-06-02 00:34:34] local.INFO: Saved type row accessory  
[2026-06-02 00:34:34] local.INFO: Saved type row accessory  
[2026-06-02 00:34:34] local.INFO: Saved type row accessory  
[2026-06-02 00:34:34] local.INFO: Saved type row accessory  
[2026-06-02 00:34:34] local.INFO: Saved type row warmup  
[2026-06-02 00:34:34] local.INFO: Saved type row warmup  
[2026-06-02 00:34:34] local.INFO: Saved type row warmup  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row warmup  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row warmup  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row warmup  
[2026-06-02 00:34:34] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:34] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:34] local.INFO: Saved type row strength  
[2026-06-02 00:34:34] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row accessory  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row accessory  
[2026-06-02 00:34:35] local.INFO: Saved type row accessory  
[2026-06-02 00:34:35] local.INFO: Saved type row accessory  
[2026-06-02 00:34:35] local.INFO: Saved type row accessory  
[2026-06-02 00:34:35] local.INFO: Saved type row accessory  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row accessory  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row accessory  
[2026-06-02 00:34:35] local.INFO: Saved type row accessory  
[2026-06-02 00:34:35] local.INFO: Saved type row accessory  
[2026-06-02 00:34:35] local.INFO: Saved type row accessory  
[2026-06-02 00:34:35] local.INFO: Saved type row accessory  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:35] local.INFO: Saved type row strength  
[2026-06-02 00:34:35] local.INFO: Saved type row warmup  
[2026-06-02 00:34:37] local.INFO: assignWorkoutToClass:  {"workout_id":142,"class_id":323,"type":"workout_manager","action":"assign","date":"02/06/26 Tuesday"} 
[2026-06-02 00:34:38] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row accessory  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row warmup  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row warmup  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row warmup  
[2026-06-02 00:34:38] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row warmup  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:38] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:38] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:38] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row accessory  
[2026-06-02 00:34:38] local.INFO: Saved type row accessory  
[2026-06-02 00:34:38] local.INFO: Saved type row accessory  
[2026-06-02 00:34:38] local.INFO: Saved type row accessory  
[2026-06-02 00:34:38] local.INFO: Saved type row accessory  
[2026-06-02 00:34:38] local.INFO: Saved type row warmup  
[2026-06-02 00:34:38] local.INFO: Saved type row warmup  
[2026-06-02 00:34:38] local.INFO: Saved type row warmup  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row warmup  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row warmup  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row conditioning  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row warmup  
[2026-06-02 00:34:38] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:38] local.INFO: Saved type row weightlifting  
[2026-06-02 00:34:38] local.INFO: Saved type row strength  
[2026-06-02 00:34:38] local.INFO: Saved type row warmup  
[2026-06-02 00:34:42] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[139,142],"types":["strength","conditioning"]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[139,142],"types":["Strength","Conditioning"],"formats":["straight-sets","pyramid"]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":5,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":1}}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-02 00:34:42] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:34:42] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:34:42] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[139,142],"types":["strength","conditioning"]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[139,142],"types":["Strength","Conditioning"],"formats":["straight-sets","pyramid"]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":5,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":1}}} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:34:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-02 00:34:42] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:34:42] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:34:42] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[139,142],"types":["strength","conditioning"]} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142]} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[139,142],"types":["Strength","Conditioning"],"formats":["straight-sets","pyramid"]} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":5,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":1}}} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:36:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-02 00:36:34] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:36:34] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:36:34] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[139,142],"types":["strength","conditioning"]} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142]} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[139,142],"types":["Strength","Conditioning"],"formats":["straight-sets","pyramid"]} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":5,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":1}}} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:36:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-02 00:36:35] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:36:35] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:36:35] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[139,142],"types":["strength","conditioning"]} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142]} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[139,142],"types":["Strength","Conditioning"],"formats":["straight-sets","pyramid"]} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":5,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":1}}} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:36:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-02 00:36:36] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:36:36] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:36:36] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:39:43] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `is_for_time`, `time_to_complete`, `updated_at`, `created_at`) values (143, 21, 50, m, ?, ?, 1, 10:00, 2026-06-02 00:39:43, 2026-06-02 00:39:43)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `is_for_time`, `time_to_complete`, `updated_at`, `created_at`) values (143, 21, 50, m, ?, ?, 1, 10:00, 2026-06-02 00:39:43, 2026-06-02 00:39:43)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 143)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 143)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-02 00:40:49] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `is_for_time`, `time_to_complete`, `updated_at`, `created_at`) values (144, 21, 50, m, ?, ?, 1, 10:00, 2026-06-02 00:40:49, 2026-06-02 00:40:49)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `is_for_time`, `time_to_complete`, `updated_at`, `created_at`) values (144, 21, 50, m, ?, ?, 1, 10:00, 2026-06-02 00:40:49, 2026-06-02 00:40:49)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 144)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 144)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-02 00:41:00] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `is_for_time`, `time_to_complete`, `updated_at`, `created_at`) values (145, 98, 60, m, ?, ?, 1, 10:00, 2026-06-02 00:41:00, 2026-06-02 00:41:00)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `is_for_time`, `time_to_complete`, `updated_at`, `created_at`) values (145, 98, 60, m, ?, ?, 1, 10:00, 2026-06-02 00:41:00, 2026-06-02 00:41:00)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 145)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 145)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[139,142],"types":["strength","conditioning"]} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142]} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[139,142],"types":["Strength","Conditioning"],"formats":["straight-sets","pyramid"]} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":5,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":1}}} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:42:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-02 00:42:04] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:42:04] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:42:04] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[139,142],"types":["strength","conditioning"]} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142]} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[139,142],"types":["Strength","Conditioning"],"formats":["straight-sets","pyramid"]} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":5,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":1}}} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:42:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-02 00:42:06] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:42:06] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:42:06] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[139,142],"types":["strength","conditioning"]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[139,142],"types":["Strength","Conditioning"],"formats":["straight-sets","pyramid"]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":5,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":1}}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-02 00:42:14] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:42:14] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:42:14] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[139,142],"types":["strength","conditioning"]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[139,142],"types":["Strength","Conditioning"],"formats":["straight-sets","pyramid"]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":5,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":1}}} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:42:14] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-02 00:42:14] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:42:14] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:42:14] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"[]","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-01-12T00:08:03.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:43:05] local.ERROR: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `is_for_time`, `time_to_complete`, `updated_at`, `created_at`) values (146, 98, 60, m, 1, ?, 1, 10:00, 2026-06-02 00:43:05, 2026-06-02 00:43:05)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 (Connection: mysql, SQL: insert into `rounds` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `is_for_time`, `time_to_complete`, `updated_at`, `created_at`) values (146, 98, 60, m, 1, ?, 1, 10:00, 2026-06-02 00:43:05, 2026-06-02 00:43:05)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 146)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 01000): SQLSTATE[01000]: Warning: 1265 Data truncated for column 'unit_type' at row 1 at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:45)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(45): PDOStatement->execute()
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `ro...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `ro...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `ro...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `ro...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ro...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Round))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Round), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(216): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(97): App\\Http\\Controllers\\WorkoutManagerController->saveRounds(Object(Illuminate\\Http\\Request), 146)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-02 00:53:26] local.INFO: storeconditioningdaily function called.  
[2026-06-02 00:53:26] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-02 00:53:26] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":142,"workout_format_type":"pyramid","workout_format_id":14,"reps":5,"weight":92.5,"date":"02/06/26 Tuesday","set_number":1,"round_number":"1/4","class_Id":323}]} 
[2026-06-02 00:53:26] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-02 00:53:26] local.INFO: New conditioning record created {"workout_manager_id":142} 
[2026-06-02 00:53:37] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":153,"category_options_id":6,"type":null,"workout":"Snatch","link":null,"created_at":"2026-04-15T03:50:34.000000Z","updated_at":"2026-04-15T03:50:34.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","58":"Warmup","60":"Select","81":"Weightlifting"}}} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-02 00:53:38] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-02 00:53:38] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-02 00:53:38] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-02 00:53:38] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-02 00:53:44] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":153,"category_options_id":6,"type":null,"workout":"Snatch","link":null,"created_at":"2026-04-15T03:50:34.000000Z","updated_at":"2026-04-15T03:50:34.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","58":"Warmup","60":"Select","81":"Weightlifting"}}} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-02 00:53:45] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-02 00:53:45] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-02 00:53:45] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-02 00:53:45] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-02 00:55:12] local.INFO: Tab value: all  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row accessory  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row accessory  
[2026-06-02 00:55:12] local.INFO: Saved type row accessory  
[2026-06-02 00:55:12] local.INFO: Saved type row accessory  
[2026-06-02 00:55:12] local.INFO: Saved type row accessory  
[2026-06-02 00:55:12] local.INFO: Saved type row accessory  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row accessory  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row accessory  
[2026-06-02 00:55:12] local.INFO: Saved type row accessory  
[2026-06-02 00:55:12] local.INFO: Saved type row accessory  
[2026-06-02 00:55:12] local.INFO: Saved type row accessory  
[2026-06-02 00:55:12] local.INFO: Saved type row accessory  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:12] local.INFO: Saved type row strength  
[2026-06-02 00:55:12] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: assignWorkoutToClass:  {"workout_id":146,"class_id":323,"type":"workout_manager","action":"assign","date":"02/06/26 Tuesday"} 
[2026-06-02 00:55:21] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row accessory  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:21] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:21] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:21] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row accessory  
[2026-06-02 00:55:21] local.INFO: Saved type row accessory  
[2026-06-02 00:55:21] local.INFO: Saved type row accessory  
[2026-06-02 00:55:21] local.INFO: Saved type row accessory  
[2026-06-02 00:55:21] local.INFO: Saved type row accessory  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row conditioning  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:55:21] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:21] local.INFO: Saved type row weightlifting  
[2026-06-02 00:55:21] local.INFO: Saved type row strength  
[2026-06-02 00:55:21] local.INFO: Saved type row warmup  
[2026-06-02 00:57:01] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[139,142,146],"types":["strength","conditioning","warmup"]} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142,146]} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[139,142,146],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","pyramid","rounds"]} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":146,"relation":"rounds","format_row_id":82,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":5,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":2}}} 
[2026-06-02 00:57:01] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":14,"date_string":"02/06/26 Tuesday","dailyReps":"5","targetReps":5,"isCompleted":true} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":1,"status":0} 
[2026-06-02 00:57:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-02 00:57:01] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:01] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:01] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[139,142,146],"types":["strength","conditioning","warmup"]} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142,146]} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[139,142,146],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","pyramid","rounds"]} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":146,"relation":"rounds","format_row_id":82,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":5,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":2}}} 
[2026-06-02 00:57:02] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":14,"date_string":"02/06/26 Tuesday","dailyReps":"5","targetReps":5,"isCompleted":true} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":1,"status":0} 
[2026-06-02 00:57:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-02 00:57:02] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:02] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:02] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[139,142,146],"types":["strength","conditioning","warmup"]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142,146]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[139,142,146],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","pyramid","rounds"]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":146,"relation":"rounds","format_row_id":82,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":5,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":2}}} 
[2026-06-02 00:57:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":14,"date_string":"02/06/26 Tuesday","dailyReps":"5","targetReps":5,"isCompleted":true} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":1,"status":0} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-02 00:57:04] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:04] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:04] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[139,142,146],"types":["strength","conditioning","warmup"]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142,146]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[139,142,146],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","pyramid","rounds"]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":146,"relation":"rounds","format_row_id":82,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":5,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":2}}} 
[2026-06-02 00:57:04] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":14,"date_string":"02/06/26 Tuesday","dailyReps":"5","targetReps":5,"isCompleted":true} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":1,"status":0} 
[2026-06-02 00:57:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-02 00:57:04] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:04] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:04] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:57:09] local.INFO: Tab value: all  
[2026-06-02 00:57:09] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row accessory  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row conditioning  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row weightlifting  
[2026-06-02 00:57:10] local.INFO: Saved type row strength  
[2026-06-02 00:57:10] local.INFO: Saved type row warmup  
[2026-06-02 00:57:12] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[139,142,146],"types":["strength","conditioning","warmup"]} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142,146]} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[139,142,146],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","pyramid","rounds"]} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":146,"relation":"rounds","format_row_id":82,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":5,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":2}}} 
[2026-06-02 00:57:12] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":14,"date_string":"02/06/26 Tuesday","dailyReps":"5","targetReps":5,"isCompleted":true} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":1,"status":0} 
[2026-06-02 00:57:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-02 00:57:12] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:12] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:12] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 00:57:30] local.INFO: storewarmupdaily function called.  
[2026-06-02 00:57:30] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-02 00:57:30] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":146,"workout_format_type":"rounds","workout_format_id":82,"reps":0,"set_number":1,"round_number":"1/3","weight":6,"exercise_time":"09:57","notes":null,"status":null,"date":"02/06/26 Tuesday","class_Id":323}]} 
[2026-06-02 00:57:30] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-02 00:57:30] local.INFO: New warm-up created {"workout_manager_id":146,"workout_format_type":"rounds","workout_format_id":82,"round_number":"1/3"} 
[2026-06-02 00:57:40] local.INFO: storewarmupdaily function called.  
[2026-06-02 00:57:40] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-02 00:57:40] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":146,"workout_format_type":"rounds","workout_format_id":82,"reps":0,"set_number":2,"round_number":"2/3","weight":6,"exercise_time":"09:47","notes":null,"status":null,"date":"02/06/26 Tuesday","class_Id":323}]} 
[2026-06-02 00:57:40] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-02 00:57:40] local.INFO: New warm-up created {"workout_manager_id":146,"workout_format_type":"rounds","workout_format_id":82,"round_number":"2/3"} 
[2026-06-02 00:57:47] local.INFO: storewarmupdaily function called.  
[2026-06-02 00:57:47] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-02 00:57:47] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":146,"workout_format_type":"rounds","workout_format_id":82,"reps":0,"set_number":3,"round_number":"3/3","weight":6,"exercise_time":"09:40","notes":null,"status":null,"date":"02/06/26 Tuesday","class_Id":323}]} 
[2026-06-02 00:57:47] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-02 00:57:47] local.INFO: New warm-up created {"workout_manager_id":146,"workout_format_type":"rounds","workout_format_id":82,"round_number":"3/3"} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"02/06/26 Tuesday","date_obj":"2026-06-02"} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday","patterns":["02/06/26 Tuesday","02/06/26","02/06/2026","02/06/26 Tuesday","02/06/2026 Tuesday","Tuesday 02/06/26","Tuesday 02/06/2026"]} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[77]} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":77,"weight":165.0,"unit_type":"kg","date":"02/06/26 Tuesday","test_created_at":"2026-06-02 00:24:49"}}} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":323,"date_string":"02/06/26 Tuesday"} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[139,142,146],"types":["strength","conditioning","warmup"]} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[139,142,146]} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[139,142,146],"types":["Strength","Conditioning","Warmup"],"formats":["straight-sets","pyramid","rounds"]} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":139,"relation":"straights","format_row_id":64,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":64,"workout_manager_id":139,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":64,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":228,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":229,"workout_libraries_id":17,"straight_id":64,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":230,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":231,"workout_libraries_id":17,"straight_id":64,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-02T00:23:52.000000Z","updated_at":"2026-06-02T00:23:52.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":139,"relation":"straights","format_row_id":65,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":14,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":14,"workout_manager_id":142,"workout_libraries_id":17,"training_load":80,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":14,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":15,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":15,"workout_manager_id":142,"workout_libraries_id":17,"training_load":70,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":15,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":16,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":16,"workout_manager_id":142,"workout_libraries_id":17,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":16,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":142,"relation":"pyramids","format_row_id":17,"workout_libraries_id":17,"attached_test_id":77,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":17,"workout_manager_id":142,"workout_libraries_id":17,"training_load":40,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-02T00:34:31.000000Z","updated_at":"2026-06-02T00:34:31.000000Z","restred":"00:01:00","restyellow":"00:00:30","restgreen":"00:00:15","test_weight":165.0,"test_unit_type":"kg","test_id":77,"test_created_at":"2026-06-02 00:24:49","format_row_id":17,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":146,"relation":"rounds","format_row_id":82,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":5,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":4,"matched":4,"not_matched":0,"empty":2}}} 
[2026-06-02 00:57:47] local.INFO: Workout completion check: {"table_name":"daily_conditionings","workout_format_id_target":14,"date_string":"02/06/26 Tuesday","dailyReps":"5","targetReps":5,"isCompleted":true} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":146,"workout_format_id":82,"exists":true,"isCompleted":false,"round_number":"1/3","query_date":"02/06/26 Tuesday","db_date":"02/06/26 Tuesday"} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":8,"completed":0,"status":0} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":1,"status":0} 
[2026-06-02 00:57:47] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-02 00:57:47] local.INFO: Day received (raw): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:47] local.INFO: Day received (sanitized): {"day":"02/06/26 Tuesday"} 
[2026-06-02 00:57:47] local.INFO: Tests retrieved {"count":1,"tests":[{"id":77,"workout_manager_id":140,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"02/06/26 Tuesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-02T00:24:49.000000Z","updated_at":"2026-06-02T00:24:49.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-02 04:42:22] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 04:42:22] local.INFO: Tab value: all  
[2026-06-02 04:42:22] local.INFO: Saved type row warmup  
[2026-06-02 04:42:22] local.INFO: Saved type row warmup  
[2026-06-02 04:42:22] local.INFO: Saved type row warmup  
[2026-06-02 04:42:23] local.INFO: Saved type row warmup  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row accessory  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row warmup  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row warmup  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row warmup  
[2026-06-02 04:42:23] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row warmup  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:23] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:23] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:23] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row accessory  
[2026-06-02 04:42:23] local.INFO: Saved type row accessory  
[2026-06-02 04:42:23] local.INFO: Saved type row accessory  
[2026-06-02 04:42:23] local.INFO: Saved type row accessory  
[2026-06-02 04:42:23] local.INFO: Saved type row accessory  
[2026-06-02 04:42:23] local.INFO: Saved type row warmup  
[2026-06-02 04:42:23] local.INFO: Saved type row warmup  
[2026-06-02 04:42:23] local.INFO: Saved type row warmup  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row warmup  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row warmup  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row warmup  
[2026-06-02 04:42:23] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:23] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:23] local.INFO: Saved type row strength  
[2026-06-02 04:42:23] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row accessory  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:24] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:24] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:24] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row accessory  
[2026-06-02 04:42:24] local.INFO: Saved type row accessory  
[2026-06-02 04:42:24] local.INFO: Saved type row accessory  
[2026-06-02 04:42:24] local.INFO: Saved type row accessory  
[2026-06-02 04:42:24] local.INFO: Saved type row accessory  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:24] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:24] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:24] local.INFO: Saved type row strength  
[2026-06-02 04:42:24] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row accessory  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:26] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:26] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:26] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row accessory  
[2026-06-02 04:42:26] local.INFO: Saved type row accessory  
[2026-06-02 04:42:26] local.INFO: Saved type row accessory  
[2026-06-02 04:42:26] local.INFO: Saved type row accessory  
[2026-06-02 04:42:26] local.INFO: Saved type row accessory  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row conditioning  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 04:42:26] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:26] local.INFO: Saved type row weightlifting  
[2026-06-02 04:42:26] local.INFO: Saved type row strength  
[2026-06-02 04:42:26] local.INFO: Saved type row warmup  
[2026-06-02 05:45:22] local.ERROR: Error updating profile: foreach() argument must be of type array|object, null given  
[2026-06-02 10:24:00] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 10:24:00] local.INFO: Tab value: all  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row accessory  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:01] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:01] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:01] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row accessory  
[2026-06-02 10:24:01] local.INFO: Saved type row accessory  
[2026-06-02 10:24:01] local.INFO: Saved type row accessory  
[2026-06-02 10:24:01] local.INFO: Saved type row accessory  
[2026-06-02 10:24:01] local.INFO: Saved type row accessory  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:01] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:01] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:01] local.INFO: Saved type row strength  
[2026-06-02 10:24:01] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row accessory  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:02] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:02] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:02] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row accessory  
[2026-06-02 10:24:02] local.INFO: Saved type row accessory  
[2026-06-02 10:24:02] local.INFO: Saved type row accessory  
[2026-06-02 10:24:02] local.INFO: Saved type row accessory  
[2026-06-02 10:24:02] local.INFO: Saved type row accessory  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:02] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:02] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:02] local.INFO: Saved type row strength  
[2026-06-02 10:24:02] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row accessory  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:03] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:03] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:03] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row accessory  
[2026-06-02 10:24:03] local.INFO: Saved type row accessory  
[2026-06-02 10:24:03] local.INFO: Saved type row accessory  
[2026-06-02 10:24:03] local.INFO: Saved type row accessory  
[2026-06-02 10:24:03] local.INFO: Saved type row accessory  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:03] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:03] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:03] local.INFO: Saved type row strength  
[2026-06-02 10:24:03] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 10:24:35] local.INFO: Tab value: all  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row accessory  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row accessory  
[2026-06-02 10:24:35] local.INFO: Saved type row accessory  
[2026-06-02 10:24:35] local.INFO: Saved type row accessory  
[2026-06-02 10:24:35] local.INFO: Saved type row accessory  
[2026-06-02 10:24:35] local.INFO: Saved type row accessory  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:35] local.INFO: Saved type row strength  
[2026-06-02 10:24:35] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row accessory  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:37] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:37] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:37] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row accessory  
[2026-06-02 10:24:37] local.INFO: Saved type row accessory  
[2026-06-02 10:24:37] local.INFO: Saved type row accessory  
[2026-06-02 10:24:37] local.INFO: Saved type row accessory  
[2026-06-02 10:24:37] local.INFO: Saved type row accessory  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:37] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:37] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:37] local.INFO: Saved type row strength  
[2026-06-02 10:24:37] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row accessory  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:39] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:39] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:39] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row accessory  
[2026-06-02 10:24:39] local.INFO: Saved type row accessory  
[2026-06-02 10:24:39] local.INFO: Saved type row accessory  
[2026-06-02 10:24:39] local.INFO: Saved type row accessory  
[2026-06-02 10:24:39] local.INFO: Saved type row accessory  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row conditioning  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:24:39] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:39] local.INFO: Saved type row weightlifting  
[2026-06-02 10:24:39] local.INFO: Saved type row strength  
[2026-06-02 10:24:39] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 10:26:31] local.INFO: Tab value: all  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row accessory  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:31] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:31] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:31] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row accessory  
[2026-06-02 10:26:31] local.INFO: Saved type row accessory  
[2026-06-02 10:26:31] local.INFO: Saved type row accessory  
[2026-06-02 10:26:31] local.INFO: Saved type row accessory  
[2026-06-02 10:26:31] local.INFO: Saved type row accessory  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:31] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:31] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:31] local.INFO: Saved type row strength  
[2026-06-02 10:26:31] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row accessory  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:33] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:33] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:33] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row accessory  
[2026-06-02 10:26:33] local.INFO: Saved type row accessory  
[2026-06-02 10:26:33] local.INFO: Saved type row accessory  
[2026-06-02 10:26:33] local.INFO: Saved type row accessory  
[2026-06-02 10:26:33] local.INFO: Saved type row accessory  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:33] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:33] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:33] local.INFO: Saved type row strength  
[2026-06-02 10:26:33] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row accessory  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row accessory  
[2026-06-02 10:26:35] local.INFO: Saved type row accessory  
[2026-06-02 10:26:35] local.INFO: Saved type row accessory  
[2026-06-02 10:26:35] local.INFO: Saved type row accessory  
[2026-06-02 10:26:35] local.INFO: Saved type row accessory  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row conditioning  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 10:26:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:35] local.INFO: Saved type row weightlifting  
[2026-06-02 10:26:35] local.INFO: Saved type row strength  
[2026-06-02 10:26:35] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 11:48:58] local.INFO: Tab value: all  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row accessory  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:58] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:58] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:58] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row accessory  
[2026-06-02 11:48:58] local.INFO: Saved type row accessory  
[2026-06-02 11:48:58] local.INFO: Saved type row accessory  
[2026-06-02 11:48:58] local.INFO: Saved type row accessory  
[2026-06-02 11:48:58] local.INFO: Saved type row accessory  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:58] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row accessory  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:58] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:58] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:58] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row accessory  
[2026-06-02 11:48:58] local.INFO: Saved type row accessory  
[2026-06-02 11:48:58] local.INFO: Saved type row accessory  
[2026-06-02 11:48:58] local.INFO: Saved type row accessory  
[2026-06-02 11:48:58] local.INFO: Saved type row accessory  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row strength  
[2026-06-02 11:48:58] local.INFO: Saved type row warmup  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:58] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:59] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row accessory  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:59] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:59] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:59] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row accessory  
[2026-06-02 11:48:59] local.INFO: Saved type row accessory  
[2026-06-02 11:48:59] local.INFO: Saved type row accessory  
[2026-06-02 11:48:59] local.INFO: Saved type row accessory  
[2026-06-02 11:48:59] local.INFO: Saved type row accessory  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row conditioning  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:48:59] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:59] local.INFO: Saved type row weightlifting  
[2026-06-02 11:48:59] local.INFO: Saved type row strength  
[2026-06-02 11:48:59] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 11:49:09] local.INFO: Tab value: all  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row accessory  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:09] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:09] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:09] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row accessory  
[2026-06-02 11:49:09] local.INFO: Saved type row accessory  
[2026-06-02 11:49:09] local.INFO: Saved type row accessory  
[2026-06-02 11:49:09] local.INFO: Saved type row accessory  
[2026-06-02 11:49:09] local.INFO: Saved type row accessory  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:09] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:09] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:09] local.INFO: Saved type row strength  
[2026-06-02 11:49:09] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row accessory  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:16] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:16] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:16] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row accessory  
[2026-06-02 11:49:16] local.INFO: Saved type row accessory  
[2026-06-02 11:49:16] local.INFO: Saved type row accessory  
[2026-06-02 11:49:16] local.INFO: Saved type row accessory  
[2026-06-02 11:49:16] local.INFO: Saved type row accessory  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:16] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:16] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:16] local.INFO: Saved type row strength  
[2026-06-02 11:49:16] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row accessory  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:25] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:25] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:25] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:25] local.INFO: Saved type row accessory  
[2026-06-02 11:49:25] local.INFO: Saved type row accessory  
[2026-06-02 11:49:25] local.INFO: Saved type row accessory  
[2026-06-02 11:49:25] local.INFO: Saved type row accessory  
[2026-06-02 11:49:25] local.INFO: Saved type row accessory  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:25] local.INFO: Saved type row strength  
[2026-06-02 11:49:25] local.INFO: Saved type row warmup  
[2026-06-02 11:49:26] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:26] local.INFO: Saved type row strength  
[2026-06-02 11:49:26] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:26] local.INFO: Saved type row strength  
[2026-06-02 11:49:26] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:26] local.INFO: Saved type row strength  
[2026-06-02 11:49:26] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:26] local.INFO: Saved type row strength  
[2026-06-02 11:49:26] local.INFO: Saved type row warmup  
[2026-06-02 11:49:26] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:26] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:26] local.INFO: Saved type row strength  
[2026-06-02 11:49:26] local.INFO: Saved type row warmup  
[2026-06-02 11:49:26] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:26] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:26] local.INFO: Saved type row strength  
[2026-06-02 11:49:26] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 11:49:49] local.INFO: Tab value: all  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row accessory  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:49] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:49] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:49] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row accessory  
[2026-06-02 11:49:49] local.INFO: Saved type row accessory  
[2026-06-02 11:49:49] local.INFO: Saved type row accessory  
[2026-06-02 11:49:49] local.INFO: Saved type row accessory  
[2026-06-02 11:49:49] local.INFO: Saved type row accessory  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:49] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:49] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:49] local.INFO: Saved type row strength  
[2026-06-02 11:49:49] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row accessory  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row accessory  
[2026-06-02 11:49:50] local.INFO: Saved type row accessory  
[2026-06-02 11:49:50] local.INFO: Saved type row accessory  
[2026-06-02 11:49:50] local.INFO: Saved type row accessory  
[2026-06-02 11:49:50] local.INFO: Saved type row accessory  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row accessory  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row accessory  
[2026-06-02 11:49:50] local.INFO: Saved type row accessory  
[2026-06-02 11:49:50] local.INFO: Saved type row accessory  
[2026-06-02 11:49:50] local.INFO: Saved type row accessory  
[2026-06-02 11:49:50] local.INFO: Saved type row accessory  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:49:50] local.INFO: Saved type row strength  
[2026-06-02 11:49:50] local.INFO: Saved type row warmup  
[2026-06-02 11:51:43] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 11:51:54] local.INFO: Saved type row strength  
[2026-06-02 11:51:54] local.INFO: Saved type row warmup  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row warmup  
[2026-06-02 11:51:54] local.INFO: Saved type row warmup  
[2026-06-02 11:51:54] local.INFO: Saved type row warmup  
[2026-06-02 11:51:54] local.INFO: Saved type row warmup  
[2026-06-02 11:51:54] local.INFO: Saved type row warmup  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row strength  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row strength  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row strength  
[2026-06-02 11:51:54] local.INFO: Saved type row accessory  
[2026-06-02 11:51:54] local.INFO: Saved type row strength  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row strength  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row strength  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row strength  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row strength  
[2026-06-02 11:51:54] local.INFO: Saved type row warmup  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:54] local.INFO: Saved type row strength  
[2026-06-02 11:51:54] local.INFO: Saved type row warmup  
[2026-06-02 11:51:54] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:55] local.INFO: Saved type row strength  
[2026-06-02 11:51:55] local.INFO: Saved type row warmup  
[2026-06-02 11:51:55] local.INFO: Saved type row weightlifting  
[2026-06-02 11:51:55] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:55] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:55] local.INFO: Saved type row warmup  
[2026-06-02 11:51:55] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:55] local.INFO: Saved type row strength  
[2026-06-02 11:51:55] local.INFO: Saved type row strength  
[2026-06-02 11:51:55] local.INFO: Saved type row weightlifting  
[2026-06-02 11:51:55] local.INFO: Saved type row weightlifting  
[2026-06-02 11:51:55] local.INFO: Saved type row weightlifting  
[2026-06-02 11:51:55] local.INFO: Saved type row weightlifting  
[2026-06-02 11:51:55] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:55] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:55] local.INFO: Saved type row accessory  
[2026-06-02 11:51:55] local.INFO: Saved type row accessory  
[2026-06-02 11:51:55] local.INFO: Saved type row accessory  
[2026-06-02 11:51:55] local.INFO: Saved type row accessory  
[2026-06-02 11:51:55] local.INFO: Saved type row accessory  
[2026-06-02 11:51:55] local.INFO: Saved type row warmup  
[2026-06-02 11:51:55] local.INFO: Saved type row warmup  
[2026-06-02 11:51:55] local.INFO: Saved type row warmup  
[2026-06-02 11:51:55] local.INFO: Saved type row strength  
[2026-06-02 11:51:55] local.INFO: Saved type row warmup  
[2026-06-02 11:51:55] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:55] local.INFO: Saved type row strength  
[2026-06-02 11:51:55] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:55] local.INFO: Saved type row strength  
[2026-06-02 11:51:55] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:55] local.INFO: Saved type row strength  
[2026-06-02 11:51:55] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:55] local.INFO: Saved type row strength  
[2026-06-02 11:51:55] local.INFO: Saved type row warmup  
[2026-06-02 11:51:55] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:55] local.INFO: Saved type row conditioning  
[2026-06-02 11:51:55] local.INFO: Saved type row strength  
[2026-06-02 11:51:55] local.INFO: Saved type row warmup  
[2026-06-02 11:51:55] local.INFO: Saved type row weightlifting  
[2026-06-02 11:51:55] local.INFO: Saved type row weightlifting  
[2026-06-02 11:51:55] local.INFO: Saved type row strength  
[2026-06-02 11:51:55] local.INFO: Saved type row warmup  
[2026-06-02 11:52:01] local.INFO: Tab value: all  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row accessory  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:06] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:06] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:06] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row accessory  
[2026-06-02 11:52:06] local.INFO: Saved type row accessory  
[2026-06-02 11:52:06] local.INFO: Saved type row accessory  
[2026-06-02 11:52:06] local.INFO: Saved type row accessory  
[2026-06-02 11:52:06] local.INFO: Saved type row accessory  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:06] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:06] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:06] local.INFO: Saved type row strength  
[2026-06-02 11:52:06] local.INFO: Saved type row warmup  
[2026-06-02 11:52:37] local.INFO: Tab value: all  
[2026-06-02 11:52:47] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-02 11:52:47] local.INFO: Saved type row strength  
[2026-06-02 11:52:47] local.INFO: Saved type row warmup  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row warmup  
[2026-06-02 11:52:47] local.INFO: Saved type row warmup  
[2026-06-02 11:52:47] local.INFO: Saved type row warmup  
[2026-06-02 11:52:47] local.INFO: Saved type row warmup  
[2026-06-02 11:52:47] local.INFO: Saved type row warmup  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row strength  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row strength  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row strength  
[2026-06-02 11:52:47] local.INFO: Saved type row accessory  
[2026-06-02 11:52:47] local.INFO: Saved type row strength  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row strength  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row strength  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row strength  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row strength  
[2026-06-02 11:52:47] local.INFO: Saved type row warmup  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row strength  
[2026-06-02 11:52:47] local.INFO: Saved type row warmup  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row strength  
[2026-06-02 11:52:47] local.INFO: Saved type row warmup  
[2026-06-02 11:52:47] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:47] local.INFO: Saved type row warmup  
[2026-06-02 11:52:47] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:48] local.INFO: Saved type row strength  
[2026-06-02 11:52:48] local.INFO: Saved type row strength  
[2026-06-02 11:52:48] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:48] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:48] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:48] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:48] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:48] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:48] local.INFO: Saved type row accessory  
[2026-06-02 11:52:48] local.INFO: Saved type row accessory  
[2026-06-02 11:52:48] local.INFO: Saved type row accessory  
[2026-06-02 11:52:48] local.INFO: Saved type row accessory  
[2026-06-02 11:52:48] local.INFO: Saved type row accessory  
[2026-06-02 11:52:48] local.INFO: Saved type row warmup  
[2026-06-02 11:52:48] local.INFO: Saved type row warmup  
[2026-06-02 11:52:48] local.INFO: Saved type row warmup  
[2026-06-02 11:52:48] local.INFO: Saved type row strength  
[2026-06-02 11:52:48] local.INFO: Saved type row warmup  
[2026-06-02 11:52:48] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:48] local.INFO: Saved type row strength  
[2026-06-02 11:52:48] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:48] local.INFO: Saved type row strength  
[2026-06-02 11:52:48] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:48] local.INFO: Saved type row strength  
[2026-06-02 11:52:48] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:48] local.INFO: Saved type row strength  
[2026-06-02 11:52:48] local.INFO: Saved type row warmup  
[2026-06-02 11:52:48] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:48] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:48] local.INFO: Saved type row strength  
[2026-06-02 11:52:48] local.INFO: Saved type row warmup  
[2026-06-02 11:52:48] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:48] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:48] local.INFO: Saved type row strength  
[2026-06-02 11:52:48] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row accessory  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row accessory  
[2026-06-02 11:52:50] local.INFO: Saved type row accessory  
[2026-06-02 11:52:50] local.INFO: Saved type row accessory  
[2026-06-02 11:52:50] local.INFO: Saved type row accessory  
[2026-06-02 11:52:50] local.INFO: Saved type row accessory  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row conditioning  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:52:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:50] local.INFO: Saved type row weightlifting  
[2026-06-02 11:52:50] local.INFO: Saved type row strength  
[2026-06-02 11:52:50] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row accessory  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row weightlifting  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row weightlifting  
[2026-06-02 11:53:46] local.INFO: Saved type row weightlifting  
[2026-06-02 11:53:46] local.INFO: Saved type row weightlifting  
[2026-06-02 11:53:46] local.INFO: Saved type row weightlifting  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row accessory  
[2026-06-02 11:53:46] local.INFO: Saved type row accessory  
[2026-06-02 11:53:46] local.INFO: Saved type row accessory  
[2026-06-02 11:53:46] local.INFO: Saved type row accessory  
[2026-06-02 11:53:46] local.INFO: Saved type row accessory  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row conditioning  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-02 11:53:46] local.INFO: Saved type row weightlifting  
[2026-06-02 11:53:46] local.INFO: Saved type row weightlifting  
[2026-06-02 11:53:46] local.INFO: Saved type row strength  
[2026-06-02 11:53:46] local.INFO: Saved type row warmup  
[2026-06-03 01:11:00] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 01:11:00] local.INFO: Tab value: all  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row accessory  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row accessory  
[2026-06-03 01:11:01] local.INFO: Saved type row accessory  
[2026-06-03 01:11:01] local.INFO: Saved type row accessory  
[2026-06-03 01:11:01] local.INFO: Saved type row accessory  
[2026-06-03 01:11:01] local.INFO: Saved type row accessory  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:01] local.INFO: Saved type row strength  
[2026-06-03 01:11:01] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row accessory  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row accessory  
[2026-06-03 01:11:02] local.INFO: Saved type row accessory  
[2026-06-03 01:11:02] local.INFO: Saved type row accessory  
[2026-06-03 01:11:02] local.INFO: Saved type row accessory  
[2026-06-03 01:11:02] local.INFO: Saved type row accessory  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row accessory  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row accessory  
[2026-06-03 01:11:02] local.INFO: Saved type row accessory  
[2026-06-03 01:11:02] local.INFO: Saved type row accessory  
[2026-06-03 01:11:02] local.INFO: Saved type row accessory  
[2026-06-03 01:11:02] local.INFO: Saved type row accessory  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:02] local.INFO: Saved type row strength  
[2026-06-03 01:11:02] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row accessory  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:28] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:28] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:28] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row accessory  
[2026-06-03 01:11:28] local.INFO: Saved type row accessory  
[2026-06-03 01:11:28] local.INFO: Saved type row accessory  
[2026-06-03 01:11:28] local.INFO: Saved type row accessory  
[2026-06-03 01:11:28] local.INFO: Saved type row accessory  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:28] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:28] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:28] local.INFO: Saved type row strength  
[2026-06-03 01:11:28] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row accessory  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:34] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:34] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:34] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row accessory  
[2026-06-03 01:11:34] local.INFO: Saved type row accessory  
[2026-06-03 01:11:34] local.INFO: Saved type row accessory  
[2026-06-03 01:11:34] local.INFO: Saved type row accessory  
[2026-06-03 01:11:34] local.INFO: Saved type row accessory  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:34] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:34] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:34] local.INFO: Saved type row strength  
[2026-06-03 01:11:34] local.INFO: Saved type row warmup  
[2026-06-03 01:11:37] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:37] local.INFO: Saved type row warmup  
[2026-06-03 01:11:37] local.INFO: Saved type row warmup  
[2026-06-03 01:11:37] local.INFO: Saved type row warmup  
[2026-06-03 01:11:37] local.INFO: Saved type row warmup  
[2026-06-03 01:11:37] local.INFO: Saved type row warmup  
[2026-06-03 01:11:37] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:37] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:37] local.INFO: Saved type row strength  
[2026-06-03 01:11:37] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:37] local.INFO: Saved type row strength  
[2026-06-03 01:11:37] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row accessory  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row warmup  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row warmup  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row warmup  
[2026-06-03 01:11:38] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row warmup  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:38] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:38] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:38] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row accessory  
[2026-06-03 01:11:38] local.INFO: Saved type row accessory  
[2026-06-03 01:11:38] local.INFO: Saved type row accessory  
[2026-06-03 01:11:38] local.INFO: Saved type row accessory  
[2026-06-03 01:11:38] local.INFO: Saved type row accessory  
[2026-06-03 01:11:38] local.INFO: Saved type row warmup  
[2026-06-03 01:11:38] local.INFO: Saved type row warmup  
[2026-06-03 01:11:38] local.INFO: Saved type row warmup  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row warmup  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row warmup  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row warmup  
[2026-06-03 01:11:38] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:38] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:38] local.INFO: Saved type row strength  
[2026-06-03 01:11:38] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row accessory  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:42] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:42] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:42] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row accessory  
[2026-06-03 01:11:42] local.INFO: Saved type row accessory  
[2026-06-03 01:11:42] local.INFO: Saved type row accessory  
[2026-06-03 01:11:42] local.INFO: Saved type row accessory  
[2026-06-03 01:11:42] local.INFO: Saved type row accessory  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:42] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:42] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:42] local.INFO: Saved type row strength  
[2026-06-03 01:11:42] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row accessory  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:45] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:45] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:45] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row accessory  
[2026-06-03 01:11:45] local.INFO: Saved type row accessory  
[2026-06-03 01:11:45] local.INFO: Saved type row accessory  
[2026-06-03 01:11:45] local.INFO: Saved type row accessory  
[2026-06-03 01:11:45] local.INFO: Saved type row accessory  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:45] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:45] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:45] local.INFO: Saved type row strength  
[2026-06-03 01:11:45] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row accessory  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:50] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:50] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:50] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row accessory  
[2026-06-03 01:11:50] local.INFO: Saved type row accessory  
[2026-06-03 01:11:50] local.INFO: Saved type row accessory  
[2026-06-03 01:11:50] local.INFO: Saved type row accessory  
[2026-06-03 01:11:50] local.INFO: Saved type row accessory  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:50] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:50] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:50] local.INFO: Saved type row strength  
[2026-06-03 01:11:50] local.INFO: Saved type row warmup  
[2026-06-03 01:11:52] local.INFO: Day received: {"day":"02/06/26 Tuesday"} 
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row accessory  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row accessory  
[2026-06-03 01:11:53] local.INFO: Saved type row accessory  
[2026-06-03 01:11:53] local.INFO: Saved type row accessory  
[2026-06-03 01:11:53] local.INFO: Saved type row accessory  
[2026-06-03 01:11:53] local.INFO: Saved type row accessory  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:53] local.INFO: Saved type row strength  
[2026-06-03 01:11:53] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row accessory  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:56] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:56] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:56] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row accessory  
[2026-06-03 01:11:56] local.INFO: Saved type row accessory  
[2026-06-03 01:11:56] local.INFO: Saved type row accessory  
[2026-06-03 01:11:56] local.INFO: Saved type row accessory  
[2026-06-03 01:11:56] local.INFO: Saved type row accessory  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row conditioning  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:11:56] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:56] local.INFO: Saved type row weightlifting  
[2026-06-03 01:11:56] local.INFO: Saved type row strength  
[2026-06-03 01:11:56] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row accessory  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:08] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:08] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:08] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row accessory  
[2026-06-03 01:12:08] local.INFO: Saved type row accessory  
[2026-06-03 01:12:08] local.INFO: Saved type row accessory  
[2026-06-03 01:12:08] local.INFO: Saved type row accessory  
[2026-06-03 01:12:08] local.INFO: Saved type row accessory  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:08] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:08] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:08] local.INFO: Saved type row strength  
[2026-06-03 01:12:08] local.INFO: Saved type row warmup  
[2026-06-03 01:12:11] local.INFO: Saved type row warmup  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row accessory  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row warmup  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row warmup  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row warmup  
[2026-06-03 01:12:11] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row warmup  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:11] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:11] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:11] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row accessory  
[2026-06-03 01:12:11] local.INFO: Saved type row accessory  
[2026-06-03 01:12:11] local.INFO: Saved type row accessory  
[2026-06-03 01:12:11] local.INFO: Saved type row accessory  
[2026-06-03 01:12:11] local.INFO: Saved type row accessory  
[2026-06-03 01:12:11] local.INFO: Saved type row warmup  
[2026-06-03 01:12:11] local.INFO: Saved type row warmup  
[2026-06-03 01:12:11] local.INFO: Saved type row warmup  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row warmup  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row warmup  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row warmup  
[2026-06-03 01:12:11] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:11] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:11] local.INFO: Saved type row strength  
[2026-06-03 01:12:11] local.INFO: Saved type row warmup  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row accessory  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row warmup  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row warmup  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row warmup  
[2026-06-03 01:12:18] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row warmup  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:18] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:18] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:18] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row accessory  
[2026-06-03 01:12:18] local.INFO: Saved type row accessory  
[2026-06-03 01:12:18] local.INFO: Saved type row accessory  
[2026-06-03 01:12:18] local.INFO: Saved type row accessory  
[2026-06-03 01:12:18] local.INFO: Saved type row accessory  
[2026-06-03 01:12:18] local.INFO: Saved type row warmup  
[2026-06-03 01:12:18] local.INFO: Saved type row warmup  
[2026-06-03 01:12:18] local.INFO: Saved type row warmup  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row warmup  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row warmup  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row conditioning  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row warmup  
[2026-06-03 01:12:18] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:18] local.INFO: Saved type row weightlifting  
[2026-06-03 01:12:18] local.INFO: Saved type row strength  
[2026-06-03 01:12:18] local.INFO: Saved type row warmup  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row accessory  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row warmup  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row warmup  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row warmup  
[2026-06-03 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row warmup  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row accessory  
[2026-06-03 01:13:03] local.INFO: Saved type row accessory  
[2026-06-03 01:13:03] local.INFO: Saved type row accessory  
[2026-06-03 01:13:03] local.INFO: Saved type row accessory  
[2026-06-03 01:13:03] local.INFO: Saved type row accessory  
[2026-06-03 01:13:03] local.INFO: Saved type row warmup  
[2026-06-03 01:13:03] local.INFO: Saved type row warmup  
[2026-06-03 01:13:03] local.INFO: Saved type row warmup  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row warmup  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row warmup  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row warmup  
[2026-06-03 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:13:03] local.INFO: Saved type row strength  
[2026-06-03 01:13:03] local.INFO: Saved type row warmup  
[2026-06-03 01:15:01] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 01:15:01] local.INFO: Tab value: all  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row accessory  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row warmup  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row warmup  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row warmup  
[2026-06-03 01:15:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row warmup  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row accessory  
[2026-06-03 01:15:01] local.INFO: Saved type row accessory  
[2026-06-03 01:15:01] local.INFO: Saved type row accessory  
[2026-06-03 01:15:01] local.INFO: Saved type row accessory  
[2026-06-03 01:15:01] local.INFO: Saved type row accessory  
[2026-06-03 01:15:01] local.INFO: Saved type row warmup  
[2026-06-03 01:15:01] local.INFO: Saved type row warmup  
[2026-06-03 01:15:01] local.INFO: Saved type row warmup  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row warmup  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row warmup  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row warmup  
[2026-06-03 01:15:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:01] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:01] local.INFO: Saved type row strength  
[2026-06-03 01:15:01] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row accessory  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row accessory  
[2026-06-03 01:15:02] local.INFO: Saved type row accessory  
[2026-06-03 01:15:02] local.INFO: Saved type row accessory  
[2026-06-03 01:15:02] local.INFO: Saved type row accessory  
[2026-06-03 01:15:02] local.INFO: Saved type row accessory  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row accessory  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row accessory  
[2026-06-03 01:15:02] local.INFO: Saved type row accessory  
[2026-06-03 01:15:02] local.INFO: Saved type row accessory  
[2026-06-03 01:15:02] local.INFO: Saved type row accessory  
[2026-06-03 01:15:02] local.INFO: Saved type row accessory  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row conditioning  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row weightlifting  
[2026-06-03 01:15:02] local.INFO: Saved type row strength  
[2026-06-03 01:15:02] local.INFO: Saved type row warmup  
[2026-06-03 01:19:53] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 01:19:53] local.INFO: Tab value: all  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row accessory  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row warmup  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row warmup  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row warmup  
[2026-06-03 01:19:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row warmup  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row accessory  
[2026-06-03 01:19:53] local.INFO: Saved type row accessory  
[2026-06-03 01:19:53] local.INFO: Saved type row accessory  
[2026-06-03 01:19:53] local.INFO: Saved type row accessory  
[2026-06-03 01:19:53] local.INFO: Saved type row accessory  
[2026-06-03 01:19:53] local.INFO: Saved type row warmup  
[2026-06-03 01:19:53] local.INFO: Saved type row warmup  
[2026-06-03 01:19:53] local.INFO: Saved type row warmup  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row warmup  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row warmup  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row warmup  
[2026-06-03 01:19:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:53] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:53] local.INFO: Saved type row strength  
[2026-06-03 01:19:53] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row accessory  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row accessory  
[2026-06-03 01:19:54] local.INFO: Saved type row accessory  
[2026-06-03 01:19:54] local.INFO: Saved type row accessory  
[2026-06-03 01:19:54] local.INFO: Saved type row accessory  
[2026-06-03 01:19:54] local.INFO: Saved type row accessory  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row accessory  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row accessory  
[2026-06-03 01:19:54] local.INFO: Saved type row accessory  
[2026-06-03 01:19:54] local.INFO: Saved type row accessory  
[2026-06-03 01:19:54] local.INFO: Saved type row accessory  
[2026-06-03 01:19:54] local.INFO: Saved type row accessory  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row conditioning  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row weightlifting  
[2026-06-03 01:19:54] local.INFO: Saved type row strength  
[2026-06-03 01:19:54] local.INFO: Saved type row warmup  
[2026-06-03 01:21:44] local.INFO: AMRAP row processing {"managerId":154,"index":"1","exercise":"Farmers carry","workout_library_id":81} 
[2026-06-03 01:21:44] local.INFO: Saved AMRAP row 1  
[2026-06-03 01:21:44] local.INFO: AMRAP row processing {"managerId":154,"index":"2","exercise":"Bike erg","workout_library_id":21} 
[2026-06-03 01:21:44] local.INFO: Saved AMRAP row 2  
[2026-06-03 01:21:44] local.INFO: AMRAP row processing {"managerId":154,"index":"3","exercise":"Bar facing burpee","workout_library_id":152} 
[2026-06-03 01:21:44] local.INFO: Saved AMRAP row 3  
[2026-06-03 01:21:47] local.INFO: Tab value: all  
[2026-06-03 01:21:47] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row warmup  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row accessory  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row strength  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:48] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row warmup  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row warmup  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row warmup  
[2026-06-03 01:21:49] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row warmup  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:49] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:49] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:49] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row accessory  
[2026-06-03 01:21:49] local.INFO: Saved type row accessory  
[2026-06-03 01:21:49] local.INFO: Saved type row accessory  
[2026-06-03 01:21:49] local.INFO: Saved type row accessory  
[2026-06-03 01:21:49] local.INFO: Saved type row accessory  
[2026-06-03 01:21:49] local.INFO: Saved type row warmup  
[2026-06-03 01:21:49] local.INFO: Saved type row warmup  
[2026-06-03 01:21:49] local.INFO: Saved type row warmup  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row warmup  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row warmup  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row conditioning  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row warmup  
[2026-06-03 01:21:49] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:49] local.INFO: Saved type row weightlifting  
[2026-06-03 01:21:49] local.INFO: Saved type row strength  
[2026-06-03 01:21:49] local.INFO: Saved type row warmup  
[2026-06-03 01:23:44] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (155, 16, ?, BW, 10, ?, 1, 2026-06-03 01:23:44, 2026-06-03 01:23:44)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (155, 16, ?, BW, 10, ?, 1, 2026-06-03 01:23:44, 2026-06-03 01:23:44)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 155)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 155)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-03 01:24:14] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (156, 16, ?, BW, 10, ?, 2, 2026-06-03 01:24:14, 2026-06-03 01:24:14)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (156, 16, ?, BW, 10, ?, 2, 2026-06-03 01:24:14, 2026-06-03 01:24:14)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 156)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 156)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-03 01:24:30] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (157, 16, ?, BW, 10, ?, 14, 2026-06-03 01:24:30, 2026-06-03 01:24:30)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (157, 16, ?, BW, 10, ?, 14, 2026-06-03 01:24:30, 2026-06-03 01:24:30)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 157)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 157)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-03 01:29:15] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 01:29:15] local.INFO: Tab value: all  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row accessory  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row accessory  
[2026-06-03 01:29:16] local.INFO: Saved type row accessory  
[2026-06-03 01:29:16] local.INFO: Saved type row accessory  
[2026-06-03 01:29:16] local.INFO: Saved type row accessory  
[2026-06-03 01:29:16] local.INFO: Saved type row accessory  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row accessory  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row accessory  
[2026-06-03 01:29:16] local.INFO: Saved type row accessory  
[2026-06-03 01:29:16] local.INFO: Saved type row accessory  
[2026-06-03 01:29:16] local.INFO: Saved type row accessory  
[2026-06-03 01:29:16] local.INFO: Saved type row accessory  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:16] local.INFO: Saved type row strength  
[2026-06-03 01:29:16] local.INFO: Saved type row warmup  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row accessory  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row warmup  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row warmup  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row warmup  
[2026-06-03 01:29:17] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row warmup  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:17] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:17] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:17] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row accessory  
[2026-06-03 01:29:17] local.INFO: Saved type row accessory  
[2026-06-03 01:29:17] local.INFO: Saved type row accessory  
[2026-06-03 01:29:17] local.INFO: Saved type row accessory  
[2026-06-03 01:29:17] local.INFO: Saved type row accessory  
[2026-06-03 01:29:17] local.INFO: Saved type row warmup  
[2026-06-03 01:29:17] local.INFO: Saved type row warmup  
[2026-06-03 01:29:17] local.INFO: Saved type row warmup  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row warmup  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row warmup  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row conditioning  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row warmup  
[2026-06-03 01:29:17] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:17] local.INFO: Saved type row weightlifting  
[2026-06-03 01:29:17] local.INFO: Saved type row strength  
[2026-06-03 01:29:17] local.INFO: Saved type row warmup  
[2026-06-03 01:31:03] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 01:31:03] local.INFO: Tab value: all  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row accessory  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row warmup  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row warmup  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row warmup  
[2026-06-03 01:31:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row warmup  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row accessory  
[2026-06-03 01:31:03] local.INFO: Saved type row accessory  
[2026-06-03 01:31:03] local.INFO: Saved type row accessory  
[2026-06-03 01:31:03] local.INFO: Saved type row accessory  
[2026-06-03 01:31:03] local.INFO: Saved type row accessory  
[2026-06-03 01:31:03] local.INFO: Saved type row warmup  
[2026-06-03 01:31:03] local.INFO: Saved type row warmup  
[2026-06-03 01:31:03] local.INFO: Saved type row warmup  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row warmup  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row warmup  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row warmup  
[2026-06-03 01:31:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:03] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:03] local.INFO: Saved type row strength  
[2026-06-03 01:31:03] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row accessory  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row accessory  
[2026-06-03 01:31:04] local.INFO: Saved type row accessory  
[2026-06-03 01:31:04] local.INFO: Saved type row accessory  
[2026-06-03 01:31:04] local.INFO: Saved type row accessory  
[2026-06-03 01:31:04] local.INFO: Saved type row accessory  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row accessory  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row accessory  
[2026-06-03 01:31:04] local.INFO: Saved type row accessory  
[2026-06-03 01:31:04] local.INFO: Saved type row accessory  
[2026-06-03 01:31:04] local.INFO: Saved type row accessory  
[2026-06-03 01:31:04] local.INFO: Saved type row accessory  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row conditioning  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row weightlifting  
[2026-06-03 01:31:04] local.INFO: Saved type row strength  
[2026-06-03 01:31:04] local.INFO: Saved type row warmup  
[2026-06-03 01:34:30] local.INFO: Tab value: all  
[2026-06-03 01:34:30] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row accessory  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row warmup  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row warmup  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row warmup  
[2026-06-03 01:34:30] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row warmup  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:30] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:30] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:30] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row accessory  
[2026-06-03 01:34:30] local.INFO: Saved type row accessory  
[2026-06-03 01:34:30] local.INFO: Saved type row accessory  
[2026-06-03 01:34:30] local.INFO: Saved type row accessory  
[2026-06-03 01:34:30] local.INFO: Saved type row accessory  
[2026-06-03 01:34:30] local.INFO: Saved type row warmup  
[2026-06-03 01:34:30] local.INFO: Saved type row warmup  
[2026-06-03 01:34:30] local.INFO: Saved type row warmup  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row warmup  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row warmup  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row warmup  
[2026-06-03 01:34:30] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:30] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:30] local.INFO: Saved type row strength  
[2026-06-03 01:34:30] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row accessory  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row accessory  
[2026-06-03 01:34:31] local.INFO: Saved type row accessory  
[2026-06-03 01:34:31] local.INFO: Saved type row accessory  
[2026-06-03 01:34:31] local.INFO: Saved type row accessory  
[2026-06-03 01:34:31] local.INFO: Saved type row accessory  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row accessory  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row accessory  
[2026-06-03 01:34:31] local.INFO: Saved type row accessory  
[2026-06-03 01:34:31] local.INFO: Saved type row accessory  
[2026-06-03 01:34:31] local.INFO: Saved type row accessory  
[2026-06-03 01:34:31] local.INFO: Saved type row accessory  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row conditioning  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row weightlifting  
[2026-06-03 01:34:31] local.INFO: Saved type row strength  
[2026-06-03 01:34:31] local.INFO: Saved type row warmup  
[2026-06-03 02:41:28] local.INFO: mobile login pin : 7825  
[2026-06-03 02:42:12] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 02:42:12] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 02:42:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 02:42:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 02:42:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-03 02:42:13] local.WARNING: [getWorkouts] No workout assignments found {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:14] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 02:42:14] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 02:42:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 02:42:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 02:42:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-03 02:42:15] local.WARNING: [getWorkouts] No workout assignments found {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:16] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 02:42:16] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 02:42:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 02:42:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 02:42:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-03 02:42:16] local.WARNING: [getWorkouts] No workout assignments found {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:17] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 02:42:17] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 02:42:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 02:42:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 02:42:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-03 02:42:17] local.WARNING: [getWorkouts] No workout assignments found {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:33] local.INFO: assignWorkoutToClass:  {"workout_id":153,"class_id":"all","type":"workout_manager","action":"assign_all","date":"03/06/26 Wednesday"} 
[2026-06-03 02:42:33] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row accessory  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row warmup  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row warmup  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row warmup  
[2026-06-03 02:42:34] local.INFO: Saved type row weightlifting  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row warmup  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row weightlifting  
[2026-06-03 02:42:34] local.INFO: Saved type row weightlifting  
[2026-06-03 02:42:34] local.INFO: Saved type row weightlifting  
[2026-06-03 02:42:34] local.INFO: Saved type row weightlifting  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row accessory  
[2026-06-03 02:42:34] local.INFO: Saved type row accessory  
[2026-06-03 02:42:34] local.INFO: Saved type row accessory  
[2026-06-03 02:42:34] local.INFO: Saved type row accessory  
[2026-06-03 02:42:34] local.INFO: Saved type row accessory  
[2026-06-03 02:42:34] local.INFO: Saved type row warmup  
[2026-06-03 02:42:34] local.INFO: Saved type row warmup  
[2026-06-03 02:42:34] local.INFO: Saved type row warmup  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row warmup  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row warmup  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row conditioning  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row warmup  
[2026-06-03 02:42:34] local.INFO: Saved type row weightlifting  
[2026-06-03 02:42:34] local.INFO: Saved type row weightlifting  
[2026-06-03 02:42:34] local.INFO: Saved type row strength  
[2026-06-03 02:42:34] local.INFO: Saved type row warmup  
[2026-06-03 02:42:34] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 02:42:40] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:42:40] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:42:40] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 02:42:40] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 02:42:40] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:42:40] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:42:40] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 02:42:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 02:42:41] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:42:41] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:42:41] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 02:42:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 02:42:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 02:42:44] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:42:44] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:42:44] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 02:44:48] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:48] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:48] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"set_number":1,"round_number":"1/4","weight":null,"exercise_time":"12:24","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:48] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 02:44:48] local.INFO: New conditioning record created {"workout_manager_id":153} 
[2026-06-03 02:44:48] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:48] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:48] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"set_number":1,"round_number":"1/4","weight":60,"exercise_time":"12:24","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:48] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 02:44:48] local.INFO: New conditioning record created {"workout_manager_id":153} 
[2026-06-03 02:44:49] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:49] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:49] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"set_number":1,"round_number":"1/4","weight":80,"exercise_time":"12:24","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:49] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 02:44:49] local.INFO: New conditioning record created {"workout_manager_id":153} 
[2026-06-03 02:44:49] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:49] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:49] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"set_number":1,"round_number":"1/4","weight":null,"exercise_time":"12:24","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:49] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 02:44:49] local.INFO: New conditioning record created {"workout_manager_id":153} 
[2026-06-03 02:44:50] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:50] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:50] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"set_number":1,"round_number":"1/4","weight":24,"exercise_time":"12:24","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:50] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 02:44:50] local.INFO: New conditioning record created {"workout_manager_id":153} 
[2026-06-03 02:44:52] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:52] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:52] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"set_number":2,"round_number":"2/4","weight":null,"exercise_time":"12:18","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:52] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":92,"class_id":324,"round_number":"1/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:48.000000Z","updated_at":"2026-06-03T02:44:48.000000Z","exercise_time":"12:24","notes":null}} 
[2026-06-03 02:44:52] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:52] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:52] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:52] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"set_number":2,"round_number":"2/4","weight":60,"exercise_time":"12:18","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:52] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":93,"class_id":324,"round_number":"1/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:48.000000Z","updated_at":"2026-06-03T02:44:48.000000Z","exercise_time":"12:24","notes":null}} 
[2026-06-03 02:44:52] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:53] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:53] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:53] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"set_number":2,"round_number":"2/4","weight":80,"exercise_time":"12:18","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:53] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":94,"class_id":324,"round_number":"1/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:49.000000Z","updated_at":"2026-06-03T02:44:49.000000Z","exercise_time":"12:24","notes":null}} 
[2026-06-03 02:44:53] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:53] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:53] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:53] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"set_number":2,"round_number":"2/4","weight":null,"exercise_time":"12:18","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:53] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":95,"class_id":324,"round_number":"1/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:49.000000Z","updated_at":"2026-06-03T02:44:49.000000Z","exercise_time":"12:24","notes":null}} 
[2026-06-03 02:44:53] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:54] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:54] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:54] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"set_number":2,"round_number":"2/4","weight":24,"exercise_time":"12:18","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:54] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":96,"class_id":324,"round_number":"1/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:50.000000Z","updated_at":"2026-06-03T02:44:50.000000Z","exercise_time":"12:24","notes":null}} 
[2026-06-03 02:44:54] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:55] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:55] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"set_number":3,"round_number":"3/4","weight":null,"exercise_time":"12:16","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:55] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":92,"class_id":324,"round_number":"2/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:48.000000Z","updated_at":"2026-06-03T02:44:52.000000Z","exercise_time":"12:18","notes":null}} 
[2026-06-03 02:44:55] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:55] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:55] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"set_number":3,"round_number":"3/4","weight":60,"exercise_time":"12:16","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:55] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":93,"class_id":324,"round_number":"2/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:48.000000Z","updated_at":"2026-06-03T02:44:52.000000Z","exercise_time":"12:18","notes":null}} 
[2026-06-03 02:44:55] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:56] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:56] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:56] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"set_number":3,"round_number":"3/4","weight":80,"exercise_time":"12:16","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:56] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":94,"class_id":324,"round_number":"2/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:49.000000Z","updated_at":"2026-06-03T02:44:53.000000Z","exercise_time":"12:18","notes":null}} 
[2026-06-03 02:44:56] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:56] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:56] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:56] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"set_number":3,"round_number":"3/4","weight":null,"exercise_time":"12:16","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:56] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":95,"class_id":324,"round_number":"2/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:49.000000Z","updated_at":"2026-06-03T02:44:53.000000Z","exercise_time":"12:18","notes":null}} 
[2026-06-03 02:44:56] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:57] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:57] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:57] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"set_number":4,"round_number":"4/4","weight":null,"exercise_time":"12:13","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:57] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":92,"class_id":324,"round_number":"3/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:48.000000Z","updated_at":"2026-06-03T02:44:55.000000Z","exercise_time":"12:16","notes":null}} 
[2026-06-03 02:44:57] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:57] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:57] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:57] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"set_number":3,"round_number":"3/4","weight":24,"exercise_time":"12:16","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:57] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":96,"class_id":324,"round_number":"2/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:50.000000Z","updated_at":"2026-06-03T02:44:54.000000Z","exercise_time":"12:18","notes":null}} 
[2026-06-03 02:44:57] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:57] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:57] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:57] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"set_number":4,"round_number":"4/4","weight":60,"exercise_time":"12:13","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:57] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":93,"class_id":324,"round_number":"3/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:48.000000Z","updated_at":"2026-06-03T02:44:55.000000Z","exercise_time":"12:16","notes":null}} 
[2026-06-03 02:44:57] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:58] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:58] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:58] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"set_number":4,"round_number":"4/4","weight":80,"exercise_time":"12:13","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:58] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":94,"class_id":324,"round_number":"3/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:49.000000Z","updated_at":"2026-06-03T02:44:56.000000Z","exercise_time":"12:16","notes":null}} 
[2026-06-03 02:44:58] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:58] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:58] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:58] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"set_number":4,"round_number":"4/4","weight":null,"exercise_time":"12:13","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:58] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":95,"class_id":324,"round_number":"3/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:49.000000Z","updated_at":"2026-06-03T02:44:56.000000Z","exercise_time":"12:16","notes":null}} 
[2026-06-03 02:44:58] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:59] local.INFO: storeconditioningdaily function called.  
[2026-06-03 02:44:59] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 02:44:59] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"set_number":4,"round_number":"4/4","weight":24,"exercise_time":"12:13","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 02:44:59] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":96,"class_id":324,"round_number":"3/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:50.000000Z","updated_at":"2026-06-03T02:44:57.000000Z","exercise_time":"12:16","notes":null}} 
[2026-06-03 02:44:59] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 02:44:59] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 02:44:59] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:44:59] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:44:59] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 02:53:55] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (161, 16, 20, Kg, 2, ?, 2, 2026-06-03 02:53:55, 2026-06-03 02:53:55)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (161, 16, 20, Kg, 2, ?, 2, 2026-06-03 02:53:55, 2026-06-03 02:53:55)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 161)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 161)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-03 02:54:17] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (162, 21, 20, Cal, ?, ?, 2, 2026-06-03 02:54:17, 2026-06-03 02:54:17)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (162, 21, 20, Cal, ?, ?, 2, 2026-06-03 02:54:17, 2026-06-03 02:54:17)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 162)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 162)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-03 02:54:31] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (163, 21, 20, Cal, ?, ?, 2, 2026-06-03 02:54:31, 2026-06-03 02:54:31)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (163, 21, 20, Cal, ?, ?, 2, 2026-06-03 02:54:31, 2026-06-03 02:54:31)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 163)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 163)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-03 02:55:02] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:55:02] local.INFO: Tab value: all  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row accessory  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row warmup  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row warmup  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row warmup  
[2026-06-03 02:55:02] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row warmup  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:02] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:02] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:02] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row accessory  
[2026-06-03 02:55:02] local.INFO: Saved type row accessory  
[2026-06-03 02:55:02] local.INFO: Saved type row accessory  
[2026-06-03 02:55:02] local.INFO: Saved type row accessory  
[2026-06-03 02:55:02] local.INFO: Saved type row accessory  
[2026-06-03 02:55:02] local.INFO: Saved type row warmup  
[2026-06-03 02:55:02] local.INFO: Saved type row warmup  
[2026-06-03 02:55:02] local.INFO: Saved type row warmup  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row warmup  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row warmup  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row warmup  
[2026-06-03 02:55:02] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:02] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:02] local.INFO: Saved type row strength  
[2026-06-03 02:55:02] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row accessory  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row accessory  
[2026-06-03 02:55:03] local.INFO: Saved type row accessory  
[2026-06-03 02:55:03] local.INFO: Saved type row accessory  
[2026-06-03 02:55:03] local.INFO: Saved type row accessory  
[2026-06-03 02:55:03] local.INFO: Saved type row accessory  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row accessory  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row accessory  
[2026-06-03 02:55:03] local.INFO: Saved type row accessory  
[2026-06-03 02:55:03] local.INFO: Saved type row accessory  
[2026-06-03 02:55:03] local.INFO: Saved type row accessory  
[2026-06-03 02:55:03] local.INFO: Saved type row accessory  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:03] local.INFO: Saved type row strength  
[2026-06-03 02:55:03] local.INFO: Saved type row warmup  
[2026-06-03 02:55:57] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:55:57] local.INFO: Tab value: all  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row accessory  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:58] local.INFO: Saved type row warmup  
[2026-06-03 02:55:58] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:58] local.INFO: Saved type row strength  
[2026-06-03 02:55:59] local.INFO: Saved type row warmup  
[2026-06-03 02:55:59] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:59] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:59] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:59] local.INFO: Saved type row warmup  
[2026-06-03 02:55:59] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:59] local.INFO: Saved type row strength  
[2026-06-03 02:55:59] local.INFO: Saved type row strength  
[2026-06-03 02:55:59] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:59] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:59] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:59] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:59] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:59] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:59] local.INFO: Saved type row accessory  
[2026-06-03 02:55:59] local.INFO: Saved type row accessory  
[2026-06-03 02:55:59] local.INFO: Saved type row accessory  
[2026-06-03 02:55:59] local.INFO: Saved type row accessory  
[2026-06-03 02:55:59] local.INFO: Saved type row accessory  
[2026-06-03 02:55:59] local.INFO: Saved type row warmup  
[2026-06-03 02:55:59] local.INFO: Saved type row warmup  
[2026-06-03 02:55:59] local.INFO: Saved type row warmup  
[2026-06-03 02:55:59] local.INFO: Saved type row strength  
[2026-06-03 02:55:59] local.INFO: Saved type row warmup  
[2026-06-03 02:55:59] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:59] local.INFO: Saved type row strength  
[2026-06-03 02:55:59] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:59] local.INFO: Saved type row strength  
[2026-06-03 02:55:59] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:59] local.INFO: Saved type row strength  
[2026-06-03 02:55:59] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:59] local.INFO: Saved type row strength  
[2026-06-03 02:55:59] local.INFO: Saved type row warmup  
[2026-06-03 02:55:59] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:59] local.INFO: Saved type row conditioning  
[2026-06-03 02:55:59] local.INFO: Saved type row strength  
[2026-06-03 02:55:59] local.INFO: Saved type row warmup  
[2026-06-03 02:55:59] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:59] local.INFO: Saved type row weightlifting  
[2026-06-03 02:55:59] local.INFO: Saved type row strength  
[2026-06-03 02:55:59] local.INFO: Saved type row warmup  
[2026-06-03 02:57:36] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (164, 23, 23, Cal, ?, ?, 2, 2026-06-03 02:57:36, 2026-06-03 02:57:36)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (164, 23, 23, Cal, ?, ?, 2, 2026-06-03 02:57:36, 2026-06-03 02:57:36)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 164)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 164)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-03 02:58:23] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (165, 23, 23, Cal, ?, ?, 2, 2026-06-03 02:58:23, 2026-06-03 02:58:23)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (165, 23, 23, Cal, ?, ?, 2, 2026-06-03 02:58:23, 2026-06-03 02:58:23)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 165)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 165)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-03 02:59:28] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:59:28] local.INFO: Tab value: all  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row accessory  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row accessory  
[2026-06-03 02:59:29] local.INFO: Saved type row accessory  
[2026-06-03 02:59:29] local.INFO: Saved type row accessory  
[2026-06-03 02:59:29] local.INFO: Saved type row accessory  
[2026-06-03 02:59:29] local.INFO: Saved type row accessory  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row accessory  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row accessory  
[2026-06-03 02:59:29] local.INFO: Saved type row accessory  
[2026-06-03 02:59:29] local.INFO: Saved type row accessory  
[2026-06-03 02:59:29] local.INFO: Saved type row accessory  
[2026-06-03 02:59:29] local.INFO: Saved type row accessory  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:29] local.INFO: Saved type row strength  
[2026-06-03 02:59:29] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row accessory  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:30] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:30] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:30] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row accessory  
[2026-06-03 02:59:30] local.INFO: Saved type row accessory  
[2026-06-03 02:59:30] local.INFO: Saved type row accessory  
[2026-06-03 02:59:30] local.INFO: Saved type row accessory  
[2026-06-03 02:59:30] local.INFO: Saved type row accessory  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:30] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:30] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:30] local.INFO: Saved type row strength  
[2026-06-03 02:59:30] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: assignWorkoutToClass:  {"workout_id":158,"class_id":"all","type":"workout_manager","action":"assign_all","date":"03/06/26 Wednesday"} 
[2026-06-03 02:59:41] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 02:59:41] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row accessory  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:41] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:41] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:41] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row accessory  
[2026-06-03 02:59:41] local.INFO: Saved type row accessory  
[2026-06-03 02:59:41] local.INFO: Saved type row accessory  
[2026-06-03 02:59:41] local.INFO: Saved type row accessory  
[2026-06-03 02:59:41] local.INFO: Saved type row accessory  
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row conditioning  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 02:59:41] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:41] local.INFO: Saved type row weightlifting  
[2026-06-03 02:59:41] local.INFO: Saved type row strength  
[2026-06-03 02:59:41] local.INFO: Saved type row warmup  
[2026-06-03 03:00:47] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:00:47] local.INFO: Tab value: all  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row accessory  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row accessory  
[2026-06-03 03:00:48] local.INFO: Saved type row accessory  
[2026-06-03 03:00:48] local.INFO: Saved type row accessory  
[2026-06-03 03:00:48] local.INFO: Saved type row accessory  
[2026-06-03 03:00:48] local.INFO: Saved type row accessory  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row accessory  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row accessory  
[2026-06-03 03:00:48] local.INFO: Saved type row accessory  
[2026-06-03 03:00:48] local.INFO: Saved type row accessory  
[2026-06-03 03:00:48] local.INFO: Saved type row accessory  
[2026-06-03 03:00:48] local.INFO: Saved type row accessory  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:48] local.INFO: Saved type row strength  
[2026-06-03 03:00:48] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row accessory  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:49] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:49] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:49] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row accessory  
[2026-06-03 03:00:49] local.INFO: Saved type row accessory  
[2026-06-03 03:00:49] local.INFO: Saved type row accessory  
[2026-06-03 03:00:49] local.INFO: Saved type row accessory  
[2026-06-03 03:00:49] local.INFO: Saved type row accessory  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row conditioning  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:00:49] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:49] local.INFO: Saved type row weightlifting  
[2026-06-03 03:00:49] local.INFO: Saved type row strength  
[2026-06-03 03:00:49] local.INFO: Saved type row warmup  
[2026-06-03 03:01:02] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,158],"types":["conditioning"]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,158]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,158],"types":["Conditioning"],"formats":["rounds","intervals"]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":24,"workout_libraries_id":51,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":25,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":26,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":27,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":0,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":9,"completed":5,"status":0} 
[2026-06-03 03:01:02] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,158],"types":["conditioning"]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,158]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,158],"types":["Conditioning"],"formats":["rounds","intervals"]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":24,"workout_libraries_id":51,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":25,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":26,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":27,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":0,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":9,"completed":5,"status":0} 
[2026-06-03 03:01:02] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:02] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,158],"types":["conditioning"]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,158]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,158],"types":["Conditioning"],"formats":["rounds","intervals"]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":24,"workout_libraries_id":51,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":25,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":26,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":27,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":0,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":9,"completed":5,"status":0} 
[2026-06-03 03:01:03] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,158],"types":["conditioning"]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,158]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,158],"types":["Conditioning"],"formats":["rounds","intervals"]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":24,"workout_libraries_id":51,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":25,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":26,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":27,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":0,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":9,"completed":5,"status":0} 
[2026-06-03 03:01:03] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:03] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,158],"types":["conditioning"]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,158]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,158],"types":["Conditioning"],"formats":["rounds","intervals"]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":24,"workout_libraries_id":51,"available_test_library_ids":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":25,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":26,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":27,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":0,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":9,"completed":5,"status":0} 
[2026-06-03 03:01:04] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:04] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:04] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:01:14] local.INFO: assignWorkoutToClass:  {"workout_id":153,"class_id":"all","type":"workout_manager","action":"unassign","date":"03/06/26 Wednesday"} 
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row accessory  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:01:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:01:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:01:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row accessory  
[2026-06-03 03:01:14] local.INFO: Saved type row accessory  
[2026-06-03 03:01:14] local.INFO: Saved type row accessory  
[2026-06-03 03:01:14] local.INFO: Saved type row accessory  
[2026-06-03 03:01:14] local.INFO: Saved type row accessory  
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:01:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:01:14] local.INFO: Saved type row strength  
[2026-06-03 03:01:14] local.INFO: Saved type row warmup  
[2026-06-03 03:01:19] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[158],"types":["conditioning"]} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[158]} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[158],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":24,"workout_libraries_id":51,"available_test_library_ids":[]} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":25,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":26,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":27,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:01:19] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-03 03:01:19] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:19] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:19] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[158],"types":["conditioning"]} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[158]} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[158],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":24,"workout_libraries_id":51,"available_test_library_ids":[]} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":25,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":26,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":27,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:01:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-03 03:01:20] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:20] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:20] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[158],"types":["conditioning"]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[158]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[158],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":24,"workout_libraries_id":51,"available_test_library_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":25,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":26,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":27,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-03 03:01:21] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[158],"types":["conditioning"]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[158]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[158],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":24,"workout_libraries_id":51,"available_test_library_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":25,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":26,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":27,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-03 03:01:21] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[158],"types":["conditioning"]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[158]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[158],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":24,"workout_libraries_id":51,"available_test_library_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":25,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":26,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":27,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:01:21] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-03 03:01:21] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:01:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:01:38] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (166, 23, 23, Cal, ?, ?, 2, 2026-06-03 03:01:38, 2026-06-03 03:01:38)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (166, 23, 23, Cal, ?, ?, 2, 2026-06-03 03:01:38, 2026-06-03 03:01:38)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 166)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 166)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-03 03:02:36] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:02:36] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:02:36] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":158,"workout_format_type":"intervals","workout_format_id":25,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:45","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:02:36] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:02:36] local.INFO: New conditioning record created {"workout_manager_id":158} 
[2026-06-03 03:02:36] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:02:36] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:02:36] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":158,"workout_format_type":"intervals","workout_format_id":24,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:45","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:02:36] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:02:36] local.INFO: New conditioning record created {"workout_manager_id":158} 
[2026-06-03 03:03:40] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:03:40] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:03:40] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":158,"workout_format_type":"intervals","workout_format_id":27,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:45","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:03:40] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:03:40] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:03:40] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:03:40] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":158,"workout_format_type":"intervals","workout_format_id":26,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:45","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:03:40] local.INFO: New conditioning record created {"workout_manager_id":158} 
[2026-06-03 03:03:40] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:03:40] local.INFO: New conditioning record created {"workout_manager_id":158} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[158],"types":["conditioning"]} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[158]} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[158],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":24,"workout_libraries_id":51,"available_test_library_ids":[]} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":25,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":26,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":27,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":24,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":25,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":26,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":27,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:03:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-03 03:03:58] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:03:58] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:03:58] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:06:54] local.INFO: assignWorkoutToClass:  {"workout_id":158,"class_id":"all","type":"workout_manager","action":"unassign","date":"03/06/26 Wednesday"} 
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row accessory  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:06:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:06:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:06:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row accessory  
[2026-06-03 03:06:54] local.INFO: Saved type row accessory  
[2026-06-03 03:06:54] local.INFO: Saved type row accessory  
[2026-06-03 03:06:54] local.INFO: Saved type row accessory  
[2026-06-03 03:06:54] local.INFO: Saved type row accessory  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:06:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:06:54] local.INFO: Saved type row strength  
[2026-06-03 03:06:54] local.INFO: Saved type row warmup  
[2026-06-03 03:06:55] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:03] local.INFO: assignWorkoutToClass:  {"workout_id":154,"class_id":"all","type":"workout_manager","action":"assign_all","date":"03/06/26 Wednesday"} 
[2026-06-03 03:07:03] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 03:07:04] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row accessory  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row accessory  
[2026-06-03 03:07:04] local.INFO: Saved type row accessory  
[2026-06-03 03:07:04] local.INFO: Saved type row accessory  
[2026-06-03 03:07:04] local.INFO: Saved type row accessory  
[2026-06-03 03:07:04] local.INFO: Saved type row accessory  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:04] local.INFO: Saved type row strength  
[2026-06-03 03:07:04] local.INFO: Saved type row warmup  
[2026-06-03 03:07:08] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[154],"types":["conditioning"]} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[154]} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[154],"types":["Conditioning"],"formats":["amrap"]} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":70,"workout_libraries_id":81,"available_test_library_ids":[]} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":71,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":72,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":0,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:08] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":70,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:08] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":71,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:08] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":72,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":0,"status":0} 
[2026-06-03 03:07:08] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:08] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:08] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[154],"types":["conditioning"]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[154],"types":["conditioning"]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[154]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[154]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[154],"types":["Conditioning"],"formats":["amrap"]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":70,"workout_libraries_id":81,"available_test_library_ids":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[154],"types":["Conditioning"],"formats":["amrap"]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":71,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":72,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":0,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":70,"workout_libraries_id":81,"available_test_library_ids":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":71,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":72,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":0,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":70,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":70,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":71,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":71,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":72,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":72,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":0,"status":0} 
[2026-06-03 03:07:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:09] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":0,"status":0} 
[2026-06-03 03:07:09] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:07:09] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[154],"types":["conditioning"]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[154]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[154],"types":["Conditioning"],"formats":["amrap"]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":70,"workout_libraries_id":81,"available_test_library_ids":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":71,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":72,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":0,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":70,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":71,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":72,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":0,"status":0} 
[2026-06-03 03:07:09] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:09] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[154],"types":["conditioning"]} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[154]} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[154],"types":["Conditioning"],"formats":["amrap"]} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":70,"workout_libraries_id":81,"available_test_library_ids":[]} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":71,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":154,"relation":"amraps","format_row_id":72,"workout_libraries_id":152,"available_test_library_ids":[]} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":3,"rows_with_lib_id":3,"rows_matched":0,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":0},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:10] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":70,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:10] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:10] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":71,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:10] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-03 03:07:10] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":72,"class_id":324,"round_entries":[]} 
[2026-06-03 03:07:10] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-03 03:07:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":0,"status":0} 
[2026-06-03 03:07:10] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:10] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:10] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:07:24] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (167, 23, 23, Cal, ?, ?, 2, 2026-06-03 03:07:24, 2026-06-03 03:07:24)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (167, 23, 23, Cal, ?, ?, 2, 2026-06-03 03:07:24, 2026-06-03 03:07:24)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 167)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 167)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-03 03:07:31] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:07:31] local.INFO: Tab value: all  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row accessory  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row accessory  
[2026-06-03 03:07:31] local.INFO: Saved type row accessory  
[2026-06-03 03:07:31] local.INFO: Saved type row accessory  
[2026-06-03 03:07:31] local.INFO: Saved type row accessory  
[2026-06-03 03:07:31] local.INFO: Saved type row accessory  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row accessory  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:31] local.INFO: Saved type row warmup  
[2026-06-03 03:07:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:31] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row accessory  
[2026-06-03 03:07:32] local.INFO: Saved type row accessory  
[2026-06-03 03:07:32] local.INFO: Saved type row accessory  
[2026-06-03 03:07:32] local.INFO: Saved type row accessory  
[2026-06-03 03:07:32] local.INFO: Saved type row accessory  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row accessory  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row accessory  
[2026-06-03 03:07:32] local.INFO: Saved type row accessory  
[2026-06-03 03:07:32] local.INFO: Saved type row accessory  
[2026-06-03 03:07:32] local.INFO: Saved type row accessory  
[2026-06-03 03:07:32] local.INFO: Saved type row accessory  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:07:32] local.INFO: Saved type row strength  
[2026-06-03 03:07:32] local.INFO: Saved type row warmup  
[2026-06-03 03:07:50] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (168, 21, 23, Cal, ?, ?, 2, 2026-06-03 03:07:50, 2026-06-03 03:07:50)) {"userId":1,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' (Connection: mysql, SQL: insert into `emom` (`workout_manager_id`, `workout_libraries_id`, `training_load`, `unit_type`, `reps`, `gender`, `exercise_time`, `updated_at`, `created_at`) values (168, 21, 23, Cal, ?, ?, 2, 2026-06-03 03:07:50, 2026-06-03 03:07:50)) at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 168)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'exercise_time' in 'field list' at /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php:39)
[stacktrace]
#0 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(39): PDO->prepare('insert into `em...')
#1 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\MySqlConnection->Illuminate\\Database\\{closure}('insert into `em...', Array)
#2 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback('insert into `em...', Array, Object(Closure))
#3 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php(34): Illuminate\\Database\\Connection->run('insert into `em...', Array, Object(Closure))
#4 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php(35): Illuminate\\Database\\MySqlConnection->insert('insert into `em...', Array, 'id')
#5 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3507): Illuminate\\Database\\Query\\Processors\\MySqlProcessor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `em...', Array, 'id')
#6 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id')
#7 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array)
#8 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array)
#9 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder))
#10 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\\Database\\Eloquent\\Model->save()
#11 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/helpers.php(307): Illuminate\\Database\\Eloquent\\Builder->Illuminate\\Database\\Eloquent\\{closure}(Object(App\\Models\\Emom))
#12 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap(Object(App\\Models\\Emom), Object(Closure))
#13 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\\Database\\Eloquent\\Builder->create(Array)
#14 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\\Database\\Eloquent\\Model->forwardCallTo(Object(Illuminate\\Database\\Eloquent\\Builder), 'create', Array)
#15 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\\Database\\Eloquent\\Model->__call('create', Array)
#16 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(411): Illuminate\\Database\\Eloquent\\Model::__callStatic('create', Array)
#17 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Controllers/WorkoutManagerController.php(109): App\\Http\\Controllers\\WorkoutManagerController->saveEmom(Object(Illuminate\\Http\\Request), 168)
#18 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\WorkoutManagerController->store(Object(Illuminate\\Http\\Request))
#19 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('store', Array)
#20 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\WorkoutManagerController), 'store')
#21 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#22 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#23 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/app/Http/Middleware/CheckUserType.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): App\\Http\\Middleware\\CheckUserType->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin', 'super admin')
#26 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#36 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#44 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#45 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#46 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#47 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#48 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#64 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#65 /home/vpbifrostjplms/public_html/bifrost.vpbifrost.jplms.com.au/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#66 {main}
"} 
[2026-06-03 03:07:54] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:07:54] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:07:54] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":70,"reps":0,"round_number":"1/1","exercise_time":"11:34","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":71,"reps":0,"round_number":"1/1","exercise_time":"11:34","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":72,"reps":0,"round_number":"1/1","exercise_time":"11:34","date":"03/06/26 Wednesday","status":null,"class_Id":324}]} 
[2026-06-03 03:07:54] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:07:54] local.INFO: New conditioning record created {"workout_manager_id":154} 
[2026-06-03 03:07:54] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:07:54] local.INFO: New conditioning record created {"workout_manager_id":154} 
[2026-06-03 03:07:54] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:07:54] local.INFO: New conditioning record created {"workout_manager_id":154} 
[2026-06-03 03:07:58] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:07:58] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:07:58] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":70,"reps":0,"round_number":"2/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":71,"reps":0,"round_number":"2/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":72,"reps":0,"round_number":"2/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324}]} 
[2026-06-03 03:07:58] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":101,"class_id":324,"round_number":"1/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":70,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:07:54.000000Z","exercise_time":"11:34","notes":null}} 
[2026-06-03 03:07:58] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:07:58] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":102,"class_id":324,"round_number":"1/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":71,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:07:54.000000Z","exercise_time":"11:34","notes":null}} 
[2026-06-03 03:07:58] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:07:58] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":103,"class_id":324,"round_number":"1/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":72,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:07:54.000000Z","exercise_time":"11:34","notes":null}} 
[2026-06-03 03:07:58] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:07:58] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:07:58] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:07:58] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":70,"reps":0,"round_number":"3/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":71,"reps":0,"round_number":"3/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":72,"reps":0,"round_number":"3/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324}]} 
[2026-06-03 03:07:58] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":101,"class_id":324,"round_number":"2/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":70,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:07:58.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:07:58] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:07:58] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":102,"class_id":324,"round_number":"2/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":71,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:07:58.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:07:58] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:07:58] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":103,"class_id":324,"round_number":"2/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":72,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:07:58.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:07:58] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:07:59] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:07:59] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:07:59] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":70,"reps":0,"round_number":"6/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":71,"reps":0,"round_number":"6/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":72,"reps":0,"round_number":"6/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324}]} 
[2026-06-03 03:07:59] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":101,"class_id":324,"round_number":"3/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":70,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:07:58.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:07:59] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:07:59] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":102,"class_id":324,"round_number":"3/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":71,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:07:58.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:07:59] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:07:59] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":103,"class_id":324,"round_number":"3/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":72,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:07:58.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:07:59] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:08:00] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:08:00] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:08:00] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":70,"reps":0,"round_number":"4/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":71,"reps":0,"round_number":"4/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":72,"reps":0,"round_number":"4/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324}]} 
[2026-06-03 03:08:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":101,"class_id":324,"round_number":"6/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":70,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:07:59.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:08:00] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:08:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":102,"class_id":324,"round_number":"6/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":71,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:07:59.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:08:00] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:08:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":103,"class_id":324,"round_number":"6/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":72,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:07:59.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:08:00] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:08:00] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:08:00] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:08:00] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":70,"reps":0,"round_number":"5/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":71,"reps":0,"round_number":"5/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":72,"reps":0,"round_number":"5/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324}]} 
[2026-06-03 03:08:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":101,"class_id":324,"round_number":"4/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":70,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:08:00.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:08:00] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:08:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":102,"class_id":324,"round_number":"4/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":71,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:08:00.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:08:00] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:08:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":103,"class_id":324,"round_number":"4/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":72,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:08:00.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:08:00] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:08:00] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:08:00] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:08:00] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":70,"reps":0,"round_number":"7/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":71,"reps":0,"round_number":"7/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":72,"reps":0,"round_number":"7/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324}]} 
[2026-06-03 03:08:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":101,"class_id":324,"round_number":"5/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":70,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:08:00.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:08:00] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:08:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":102,"class_id":324,"round_number":"5/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":71,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:08:00.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:08:00] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:08:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":103,"class_id":324,"round_number":"5/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":72,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:08:00.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:08:00] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:08:00] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:08:00] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:08:00] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":70,"reps":0,"round_number":"8/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":71,"reps":0,"round_number":"8/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324},{"workout_manager_id":154,"workout_type":"conditioning","workout_format_type":"amrap","workout_format_id":72,"reps":0,"round_number":"8/1","exercise_time":"11:30","date":"03/06/26 Wednesday","status":null,"class_Id":324}]} 
[2026-06-03 03:08:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":101,"class_id":324,"round_number":"7/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":70,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:08:00.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:08:00] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:08:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":102,"class_id":324,"round_number":"7/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":71,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:08:00.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:08:00] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:08:00] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":103,"class_id":324,"round_number":"7/1","member_id":9,"conditioning_id":null,"workout_manager_id":154,"workout_format_type":"amrap","workout_format_id":72,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:07:54.000000Z","updated_at":"2026-06-03T03:08:00.000000Z","exercise_time":"11:30","notes":null}} 
[2026-06-03 03:08:00] local.INFO: Conditioning updated {"workout_manager_id":154} 
[2026-06-03 03:10:05] local.INFO: assignWorkoutToClass:  {"workout_id":154,"class_id":"all","type":"workout_manager","action":"unassign","date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row accessory  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:05] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:05] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:05] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row accessory  
[2026-06-03 03:10:05] local.INFO: Saved type row accessory  
[2026-06-03 03:10:05] local.INFO: Saved type row accessory  
[2026-06-03 03:10:05] local.INFO: Saved type row accessory  
[2026-06-03 03:10:05] local.INFO: Saved type row accessory  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:05] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:05] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:05] local.INFO: Saved type row strength  
[2026-06-03 03:10:05] local.INFO: Saved type row warmup  
[2026-06-03 03:10:06] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:11] local.INFO: assignWorkoutToClass:  {"workout_id":153,"class_id":"all","type":"workout_manager","action":"assign_all","date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:11] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row accessory  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:11] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:11] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:11] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row accessory  
[2026-06-03 03:10:11] local.INFO: Saved type row accessory  
[2026-06-03 03:10:11] local.INFO: Saved type row accessory  
[2026-06-03 03:10:11] local.INFO: Saved type row accessory  
[2026-06-03 03:10:11] local.INFO: Saved type row accessory  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:11] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:11] local.INFO: Saved type row weightlifting  
[2026-06-03 03:10:11] local.INFO: Saved type row strength  
[2026-06-03 03:10:11] local.INFO: Saved type row warmup  
[2026-06-03 03:10:12] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:10:16] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:16] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:16] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:17] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:10:17] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:17] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:17] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:21] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:10:21] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:21] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:21] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:10:23] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:10:23] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:23] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:10:59] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:10:59] local.INFO: Tab value: all  
[2026-06-03 03:10:59] local.INFO: Saved type row warmup  
[2026-06-03 03:10:59] local.INFO: Saved type row warmup  
[2026-06-03 03:10:59] local.INFO: Saved type row warmup  
[2026-06-03 03:10:59] local.INFO: Saved type row warmup  
[2026-06-03 03:10:59] local.INFO: Saved type row warmup  
[2026-06-03 03:10:59] local.INFO: Saved type row warmup  
[2026-06-03 03:10:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:10:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row accessory  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row accessory  
[2026-06-03 03:11:00] local.INFO: Saved type row accessory  
[2026-06-03 03:11:00] local.INFO: Saved type row accessory  
[2026-06-03 03:11:00] local.INFO: Saved type row accessory  
[2026-06-03 03:11:00] local.INFO: Saved type row accessory  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row accessory  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row accessory  
[2026-06-03 03:11:00] local.INFO: Saved type row accessory  
[2026-06-03 03:11:00] local.INFO: Saved type row accessory  
[2026-06-03 03:11:00] local.INFO: Saved type row accessory  
[2026-06-03 03:11:00] local.INFO: Saved type row accessory  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:00] local.INFO: Saved type row strength  
[2026-06-03 03:11:00] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row accessory  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row accessory  
[2026-06-03 03:11:01] local.INFO: Saved type row accessory  
[2026-06-03 03:11:01] local.INFO: Saved type row accessory  
[2026-06-03 03:11:01] local.INFO: Saved type row accessory  
[2026-06-03 03:11:01] local.INFO: Saved type row accessory  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row conditioning  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:01] local.INFO: Saved type row weightlifting  
[2026-06-03 03:11:01] local.INFO: Saved type row strength  
[2026-06-03 03:11:01] local.INFO: Saved type row warmup  
[2026-06-03 03:11:03] local.INFO: mobile login pin : 7825  
[2026-06-03 03:11:07] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:07] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:11:07] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:07] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:07] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:11:09] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:09] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:09] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:11:10] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:10] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:10] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"set_number":5,"round_number":"5/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:10] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":92,"class_id":324,"round_number":"4/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:48.000000Z","updated_at":"2026-06-03T02:44:57.000000Z","exercise_time":"12:13","notes":null}} 
[2026-06-03 03:11:10] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:11] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:11] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:11] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"set_number":5,"round_number":"5/4","weight":60,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:11] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":93,"class_id":324,"round_number":"4/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:48.000000Z","updated_at":"2026-06-03T02:44:57.000000Z","exercise_time":"12:13","notes":null}} 
[2026-06-03 03:11:11] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:11] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:11] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:11] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"set_number":5,"round_number":"5/4","weight":80,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:11] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":94,"class_id":324,"round_number":"4/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:49.000000Z","updated_at":"2026-06-03T02:44:58.000000Z","exercise_time":"12:13","notes":null}} 
[2026-06-03 03:11:11] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:12] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:12] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:12] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"set_number":5,"round_number":"5/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:12] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":95,"class_id":324,"round_number":"4/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:49.000000Z","updated_at":"2026-06-03T02:44:58.000000Z","exercise_time":"12:13","notes":null}} 
[2026-06-03 03:11:12] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:12] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:12] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:12] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"set_number":6,"round_number":"6/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:12] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":92,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:48.000000Z","updated_at":"2026-06-03T03:11:10.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:11:12] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:12] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:12] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:12] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"set_number":5,"round_number":"5/4","weight":24,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:12] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":96,"class_id":324,"round_number":"4/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:50.000000Z","updated_at":"2026-06-03T02:44:59.000000Z","exercise_time":"12:13","notes":null}} 
[2026-06-03 03:11:12] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:13] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:13] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:13] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"set_number":7,"round_number":"7/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:13] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":92,"class_id":324,"round_number":"6/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":90,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:48.000000Z","updated_at":"2026-06-03T03:11:12.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:11:13] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:13] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:13] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:13] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"set_number":6,"round_number":"6/4","weight":60,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:13] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":93,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:48.000000Z","updated_at":"2026-06-03T03:11:11.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:11:13] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:11:13] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:13] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:13] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:11:13] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:13] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:13] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:13] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"set_number":6,"round_number":"6/4","weight":80,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:13] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:13] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"set_number":7,"round_number":"7/4","weight":60,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:13] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":93,"class_id":324,"round_number":"6/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":91,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:48.000000Z","updated_at":"2026-06-03T03:11:13.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:11:13] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":94,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:49.000000Z","updated_at":"2026-06-03T03:11:11.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:11:13] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:13] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:14] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:14] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:14] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"set_number":7,"round_number":"7/4","weight":80,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:14] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:14] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:14] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":94,"class_id":324,"round_number":"6/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":92,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:49.000000Z","updated_at":"2026-06-03T03:11:13.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:11:14] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"set_number":6,"round_number":"6/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:14] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:14] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":95,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:49.000000Z","updated_at":"2026-06-03T03:11:12.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:11:14] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:14] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:14] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:14] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"set_number":6,"round_number":"6/4","weight":24,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:14] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":96,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:50.000000Z","updated_at":"2026-06-03T03:11:12.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:11:14] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:14] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:14] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:14] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"set_number":7,"round_number":"7/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:14] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":95,"class_id":324,"round_number":"6/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":93,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:49.000000Z","updated_at":"2026-06-03T03:11:14.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:11:14] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:15] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:11:15] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:11:15] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"set_number":7,"round_number":"7/4","weight":24,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":96,"class_id":324,"round_number":"6/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":94,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T02:44:50.000000Z","updated_at":"2026-06-03T03:11:14.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:11:15] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:11:15] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:11:15] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:15] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:11:34] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:11:34] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:34] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:11:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:11:37] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:37] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:11:37] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":91,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T01:19:50.000000Z","updated_at":"2026-06-03T01:19:50.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":91,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:12:08] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:08] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:08] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":90,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":91,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":91,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T01:19:50.000000Z","updated_at":"2026-06-03T01:19:50.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":91,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":92,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":93,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":94,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":93,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":94,"exists":true,"isCompleted":true,"round_number":"7/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:11] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:12:11] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:11] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:11] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:12:19] local.INFO: assignWorkoutToClass:  {"workout_id":153,"class_id":"all","type":"workout_manager","action":"unassign","date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row accessory  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:19] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:19] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:19] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row accessory  
[2026-06-03 03:12:19] local.INFO: Saved type row accessory  
[2026-06-03 03:12:19] local.INFO: Saved type row accessory  
[2026-06-03 03:12:19] local.INFO: Saved type row accessory  
[2026-06-03 03:12:19] local.INFO: Saved type row accessory  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:19] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:19] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:19] local.INFO: Saved type row strength  
[2026-06-03 03:12:19] local.INFO: Saved type row warmup  
[2026-06-03 03:12:20] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:22] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:12:22] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:12:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:12:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:12:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-03 03:12:22] local.WARNING: [getWorkouts] No workout assignments found {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:23] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:12:23] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:12:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:12:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:12:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-03 03:12:23] local.WARNING: [getWorkouts] No workout assignments found {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:32] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:32] local.INFO: Tab value: all  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row accessory  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row accessory  
[2026-06-03 03:12:33] local.INFO: Saved type row accessory  
[2026-06-03 03:12:33] local.INFO: Saved type row accessory  
[2026-06-03 03:12:33] local.INFO: Saved type row accessory  
[2026-06-03 03:12:33] local.INFO: Saved type row accessory  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row accessory  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row accessory  
[2026-06-03 03:12:33] local.INFO: Saved type row accessory  
[2026-06-03 03:12:33] local.INFO: Saved type row accessory  
[2026-06-03 03:12:33] local.INFO: Saved type row accessory  
[2026-06-03 03:12:33] local.INFO: Saved type row accessory  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:33] local.INFO: Saved type row strength  
[2026-06-03 03:12:33] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row accessory  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row accessory  
[2026-06-03 03:12:34] local.INFO: Saved type row accessory  
[2026-06-03 03:12:34] local.INFO: Saved type row accessory  
[2026-06-03 03:12:34] local.INFO: Saved type row accessory  
[2026-06-03 03:12:34] local.INFO: Saved type row accessory  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:34] local.INFO: Saved type row strength  
[2026-06-03 03:12:34] local.INFO: Saved type row warmup  
[2026-06-03 03:12:45] local.INFO: assignWorkoutToClass:  {"workout_id":153,"class_id":"all","type":"workout_manager","action":"assign_all","date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:45] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row accessory  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:46] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:46] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:46] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row accessory  
[2026-06-03 03:12:46] local.INFO: Saved type row accessory  
[2026-06-03 03:12:46] local.INFO: Saved type row accessory  
[2026-06-03 03:12:46] local.INFO: Saved type row accessory  
[2026-06-03 03:12:46] local.INFO: Saved type row accessory  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:46] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:46] local.INFO: Saved type row weightlifting  
[2026-06-03 03:12:46] local.INFO: Saved type row strength  
[2026-06-03 03:12:46] local.INFO: Saved type row warmup  
[2026-06-03 03:12:49] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":95,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":96,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":96,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:12:29.000000Z","updated_at":"2026-06-03T03:12:29.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":96,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":97,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":98,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":99,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:12:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:12:49] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:49] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:49] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":95,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":96,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":96,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:12:29.000000Z","updated_at":"2026-06-03T03:12:29.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":96,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":97,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":98,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":99,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:12:50] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:50] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:50] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":95,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":96,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":96,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:12:29.000000Z","updated_at":"2026-06-03T03:12:29.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":96,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":97,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":98,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":99,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:12:50] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:12:50] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:50] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:50] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":95,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":96,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":96,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:12:29.000000Z","updated_at":"2026-06-03T03:12:29.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":96,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":97,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":98,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":99,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:12:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:12:51] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:51] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:51] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:12:52] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:52] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:52] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":95,"reps":0,"set_number":5,"round_number":"5/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:52] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:12:52] local.INFO: New conditioning record created {"workout_manager_id":153} 
[2026-06-03 03:12:52] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:52] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:52] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":95,"reps":0,"set_number":6,"round_number":"6/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:52] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":104,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":95,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:52.000000Z","updated_at":"2026-06-03T03:12:52.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:52] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:52] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:52] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:52] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":96,"reps":0,"set_number":5,"round_number":"5/4","weight":60,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:52] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:12:52] local.INFO: New conditioning record created {"workout_manager_id":153} 
[2026-06-03 03:12:52] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:52] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:52] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":96,"reps":0,"set_number":6,"round_number":"6/4","weight":60,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:52] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":105,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":96,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:52.000000Z","updated_at":"2026-06-03T03:12:52.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:52] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:53] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:53] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:53] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":97,"reps":0,"set_number":5,"round_number":"5/4","weight":80,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:53] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:12:53] local.INFO: New conditioning record created {"workout_manager_id":153} 
[2026-06-03 03:12:53] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:53] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:53] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":97,"reps":0,"set_number":6,"round_number":"6/4","weight":80,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:53] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":106,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":97,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:53.000000Z","updated_at":"2026-06-03T03:12:53.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:53] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:53] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:53] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:53] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":98,"reps":0,"set_number":5,"round_number":"5/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:53] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:12:53] local.INFO: New conditioning record created {"workout_manager_id":153} 
[2026-06-03 03:12:53] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:53] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:53] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":98,"reps":0,"set_number":6,"round_number":"6/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:53] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":107,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":98,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:53.000000Z","updated_at":"2026-06-03T03:12:53.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:53] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:53] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:53] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:53] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":95,"reps":0,"set_number":5,"round_number":"5/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:53] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":104,"class_id":324,"round_number":"6/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":95,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:52.000000Z","updated_at":"2026-06-03T03:12:52.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:53] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:54] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:54] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:54] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":99,"reps":0,"set_number":5,"round_number":"5/4","weight":24,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:54] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:12:54] local.INFO: New conditioning record created {"workout_manager_id":153} 
[2026-06-03 03:12:54] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:54] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:54] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":99,"reps":0,"set_number":6,"round_number":"6/4","weight":24,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:54] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":108,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":99,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:54.000000Z","updated_at":"2026-06-03T03:12:54.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:54] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:54] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:54] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:54] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":96,"reps":0,"set_number":5,"round_number":"5/4","weight":60,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:54] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":105,"class_id":324,"round_number":"6/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":96,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:52.000000Z","updated_at":"2026-06-03T03:12:52.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:54] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":95,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":96,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":96,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:12:29.000000Z","updated_at":"2026-06-03T03:12:29.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":96,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":97,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":98,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":99,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":95,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":96,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":97,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":98,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":99,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:12:54] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:12:54] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":95,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":96,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":96,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:12:29.000000Z","updated_at":"2026-06-03T03:12:29.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":96,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":97,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":98,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":99,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":95,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":96,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":97,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":98,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":99,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:12:54] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:54] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:12:54] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:54] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:54] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":97,"reps":0,"set_number":5,"round_number":"5/4","weight":80,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:54] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":106,"class_id":324,"round_number":"6/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":97,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:53.000000Z","updated_at":"2026-06-03T03:12:53.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:54] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:55] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:55] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":98,"reps":0,"set_number":5,"round_number":"5/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:55] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":107,"class_id":324,"round_number":"6/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":98,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:53.000000Z","updated_at":"2026-06-03T03:12:53.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:55] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:55] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:55] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":95,"reps":0,"set_number":6,"round_number":"6/4","weight":null,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:55] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":104,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":95,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:52.000000Z","updated_at":"2026-06-03T03:12:53.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:55] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:55] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:55] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":99,"reps":0,"set_number":5,"round_number":"5/4","weight":24,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:55] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":108,"class_id":324,"round_number":"6/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":99,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:54.000000Z","updated_at":"2026-06-03T03:12:54.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:55] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:55] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:55] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":96,"reps":0,"set_number":6,"round_number":"6/4","weight":60,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:55] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":105,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":96,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:52.000000Z","updated_at":"2026-06-03T03:12:54.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:55] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":95,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":96,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":96,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:12:29.000000Z","updated_at":"2026-06-03T03:12:29.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":96,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":97,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":98,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":99,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":95,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":96,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":97,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":98,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":99,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:12:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:12:56] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:56] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:12:56] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:12:56] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:12:56] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:12:56] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":97,"reps":0,"set_number":6,"round_number":"6/4","weight":80,"exercise_time":"12:11","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:12:56] local.INFO: Existing conditioning record: {"dailyConditioning":{"id":106,"class_id":324,"round_number":"5/4","member_id":9,"conditioning_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":97,"reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:12:53.000000Z","updated_at":"2026-06-03T03:12:54.000000Z","exercise_time":"12:11","notes":null}} 
[2026-06-03 03:12:56] local.INFO: Conditioning updated {"workout_manager_id":153} 
[2026-06-03 03:12:59] local.INFO: mobile login pin : 7825  
[2026-06-03 03:13:07] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":95,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":96,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":96,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:12:29.000000Z","updated_at":"2026-06-03T03:12:29.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":96,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":97,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":98,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":99,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":95,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":96,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":97,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":98,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":153,"workout_format_id":99,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:07] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":5,"status":1} 
[2026-06-03 03:13:07] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:07] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:07] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:13:11] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:11] local.INFO: Tab value: all  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row accessory  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row accessory  
[2026-06-03 03:13:12] local.INFO: Saved type row accessory  
[2026-06-03 03:13:12] local.INFO: Saved type row accessory  
[2026-06-03 03:13:12] local.INFO: Saved type row accessory  
[2026-06-03 03:13:12] local.INFO: Saved type row accessory  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row accessory  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row accessory  
[2026-06-03 03:13:12] local.INFO: Saved type row accessory  
[2026-06-03 03:13:12] local.INFO: Saved type row accessory  
[2026-06-03 03:13:12] local.INFO: Saved type row accessory  
[2026-06-03 03:13:12] local.INFO: Saved type row accessory  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:12] local.INFO: Saved type row strength  
[2026-06-03 03:13:12] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row accessory  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:13] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:13] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:13] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row accessory  
[2026-06-03 03:13:13] local.INFO: Saved type row accessory  
[2026-06-03 03:13:13] local.INFO: Saved type row accessory  
[2026-06-03 03:13:13] local.INFO: Saved type row accessory  
[2026-06-03 03:13:13] local.INFO: Saved type row accessory  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:13] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:13] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:13] local.INFO: Saved type row strength  
[2026-06-03 03:13:13] local.INFO: Saved type row warmup  
[2026-06-03 03:13:25] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:13:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":0,"status":0} 
[2026-06-03 03:13:25] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:25] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:25] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":0,"status":0} 
[2026-06-03 03:13:26] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:26] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:26] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:13:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":0,"status":0} 
[2026-06-03 03:13:26] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:26] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:26] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":0,"status":0} 
[2026-06-03 03:13:27] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:27] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:27] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:13:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":0,"status":0} 
[2026-06-03 03:13:27] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:27] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:27] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:13:28] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":0,"status":0} 
[2026-06-03 03:13:28] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:28] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:28] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:13:29] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":0,"status":0} 
[2026-06-03 03:13:29] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:29] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:29] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:13:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":0,"status":0} 
[2026-06-03 03:13:33] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:33] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:33] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:13:35] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:13:35] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:13:35] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":100,"reps":0,"set_number":5,"round_number":"5/4","weight":null,"exercise_time":"14:00","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:13:35] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-03 03:13:35] local.INFO: New strength record created {"workout_manager_id":153,"set_number":5} 
[2026-06-03 03:13:35] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:13:35] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:13:35] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":101,"reps":0,"set_number":5,"round_number":"5/4","weight":60,"exercise_time":"14:00","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:13:35] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-03 03:13:35] local.INFO: New strength record created {"workout_manager_id":153,"set_number":5} 
[2026-06-03 03:13:36] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:13:36] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:13:36] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":102,"reps":0,"set_number":5,"round_number":"5/4","weight":80,"exercise_time":"14:00","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:13:36] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-03 03:13:36] local.INFO: New strength record created {"workout_manager_id":153,"set_number":5} 
[2026-06-03 03:13:36] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:13:36] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:13:36] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":103,"reps":0,"set_number":5,"round_number":"5/4","weight":null,"exercise_time":"14:00","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:13:36] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-03 03:13:36] local.INFO: New strength record created {"workout_manager_id":153,"set_number":5} 
[2026-06-03 03:13:37] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:13:37] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:13:37] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":100,"reps":0,"set_number":6,"round_number":"6/4","weight":null,"exercise_time":"14:00","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:13:37] local.INFO: Existing strength record: {"dailyStrength":{"id":93,"class_id":324,"round_number":"5/4","member_id":9,"strength_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":100,"type":"Primary","reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:13:35.000000Z","updated_at":"2026-06-03T03:13:35.000000Z","set_number":5,"exercise_time":"14:00","notes":null}} 
[2026-06-03 03:13:37] local.INFO: Strength updated {"workout_manager_id":153,"set_number":6} 
[2026-06-03 03:13:37] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:13:37] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:13:37] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":104,"reps":0,"set_number":5,"round_number":"5/4","weight":24,"exercise_time":"14:00","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:13:37] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-03 03:13:37] local.INFO: New strength record created {"workout_manager_id":153,"set_number":5} 
[2026-06-03 03:13:37] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:13:37] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:13:37] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":101,"reps":0,"set_number":6,"round_number":"6/4","weight":60,"exercise_time":"14:00","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:13:37] local.INFO: Existing strength record: {"dailyStrength":{"id":94,"class_id":324,"round_number":"5/4","member_id":9,"strength_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":101,"type":"Primary","reps":0,"weight":"60","date":"03/06/26 Wednesday","created_at":"2026-06-03T03:13:35.000000Z","updated_at":"2026-06-03T03:13:35.000000Z","set_number":5,"exercise_time":"14:00","notes":null}} 
[2026-06-03 03:13:37] local.INFO: Strength updated {"workout_manager_id":153,"set_number":6} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":100,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":101,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":102,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":103,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":104,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":5,"status":1} 
[2026-06-03 03:13:37] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:37] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:37] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:13:38] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:13:38] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:13:38] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":102,"reps":0,"set_number":6,"round_number":"6/4","weight":80,"exercise_time":"14:00","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:13:38] local.INFO: Existing strength record: {"dailyStrength":{"id":95,"class_id":324,"round_number":"5/4","member_id":9,"strength_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":102,"type":"Primary","reps":0,"weight":"80","date":"03/06/26 Wednesday","created_at":"2026-06-03T03:13:36.000000Z","updated_at":"2026-06-03T03:13:36.000000Z","set_number":5,"exercise_time":"14:00","notes":null}} 
[2026-06-03 03:13:38] local.INFO: Strength updated {"workout_manager_id":153,"set_number":6} 
[2026-06-03 03:13:38] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:13:38] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:13:38] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":103,"reps":0,"set_number":6,"round_number":"6/4","weight":null,"exercise_time":"14:00","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:13:38] local.INFO: Existing strength record: {"dailyStrength":{"id":96,"class_id":324,"round_number":"5/4","member_id":9,"strength_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":103,"type":"Primary","reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:13:36.000000Z","updated_at":"2026-06-03T03:13:36.000000Z","set_number":5,"exercise_time":"14:00","notes":null}} 
[2026-06-03 03:13:38] local.INFO: Strength updated {"workout_manager_id":153,"set_number":6} 
[2026-06-03 03:13:38] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:13:38] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:13:38] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":104,"reps":0,"set_number":6,"round_number":"6/4","weight":24,"exercise_time":"14:00","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:13:38] local.INFO: Existing strength record: {"dailyStrength":{"id":97,"class_id":324,"round_number":"5/4","member_id":9,"strength_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":104,"type":"Primary","reps":0,"weight":"24","date":"03/06/26 Wednesday","created_at":"2026-06-03T03:13:37.000000Z","updated_at":"2026-06-03T03:13:37.000000Z","set_number":5,"exercise_time":"14:00","notes":null}} 
[2026-06-03 03:13:38] local.INFO: Strength updated {"workout_manager_id":153,"set_number":6} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":100,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":101,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":102,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":103,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":104,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:39] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":5,"status":1} 
[2026-06-03 03:13:39] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:39] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:39] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:13:59] local.INFO: assignWorkoutToClass:  {"workout_id":153,"class_id":"all","type":"workout_manager","action":"assign_all","date":"03/06/26 Wednesday"} 
[2026-06-03 03:13:59] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 03:13:59] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row accessory  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:59] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:59] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:59] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row accessory  
[2026-06-03 03:13:59] local.INFO: Saved type row accessory  
[2026-06-03 03:13:59] local.INFO: Saved type row accessory  
[2026-06-03 03:13:59] local.INFO: Saved type row accessory  
[2026-06-03 03:13:59] local.INFO: Saved type row accessory  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row conditioning  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:13:59] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:59] local.INFO: Saved type row weightlifting  
[2026-06-03 03:13:59] local.INFO: Saved type row strength  
[2026-06-03 03:13:59] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Day received: {"day":"04/06/26 Thursday"} 
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row accessory  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row accessory  
[2026-06-03 03:14:12] local.INFO: Saved type row accessory  
[2026-06-03 03:14:12] local.INFO: Saved type row accessory  
[2026-06-03 03:14:12] local.INFO: Saved type row accessory  
[2026-06-03 03:14:12] local.INFO: Saved type row accessory  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:12] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:12] local.INFO: Saved type row strength  
[2026-06-03 03:14:12] local.INFO: Saved type row warmup  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row warmup  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row warmup  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:45] local.INFO: Saved type row strength  
[2026-06-03 03:14:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:46] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:46] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row warmup  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row warmup  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:46] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:46] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:46] local.INFO: Saved type row strength  
[2026-06-03 03:14:47] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:57] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row accessory  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:57] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:57] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:57] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row accessory  
[2026-06-03 03:14:57] local.INFO: Saved type row accessory  
[2026-06-03 03:14:57] local.INFO: Saved type row accessory  
[2026-06-03 03:14:57] local.INFO: Saved type row accessory  
[2026-06-03 03:14:57] local.INFO: Saved type row accessory  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row conditioning  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:57] local.INFO: Saved type row warmup  
[2026-06-03 03:14:57] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:57] local.INFO: Saved type row weightlifting  
[2026-06-03 03:14:57] local.INFO: Saved type row strength  
[2026-06-03 03:14:58] local.INFO: Saved type row warmup  
[2026-06-03 03:15:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:15:35] local.INFO: Saved type row strength  
[2026-06-03 03:15:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:15:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:15:35] local.INFO: Saved type row accessory  
[2026-06-03 03:15:35] local.INFO: Saved type row accessory  
[2026-06-03 03:15:35] local.INFO: Saved type row warmup  
[2026-06-03 03:15:35] local.INFO: Saved type row strength  
[2026-06-03 03:15:35] local.INFO: Saved type row warmup  
[2026-06-03 03:15:35] local.INFO: Saved type row strength  
[2026-06-03 03:15:35] local.INFO: Saved type row strength  
[2026-06-03 03:15:35] local.INFO: Saved type row warmup  
[2026-06-03 03:15:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:15:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:15:35] local.INFO: Saved type row strength  
[2026-06-03 03:15:39] local.INFO: Saved type row conditioning  
[2026-06-03 03:15:39] local.INFO: Saved type row conditioning  
[2026-06-03 03:15:39] local.INFO: Saved type row strength  
[2026-06-03 03:15:39] local.INFO: Saved type row conditioning  
[2026-06-03 03:15:39] local.INFO: Saved type row conditioning  
[2026-06-03 03:15:39] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row accessory  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:28] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:28] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:28] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row accessory  
[2026-06-03 03:16:28] local.INFO: Saved type row accessory  
[2026-06-03 03:16:28] local.INFO: Saved type row accessory  
[2026-06-03 03:16:28] local.INFO: Saved type row accessory  
[2026-06-03 03:16:28] local.INFO: Saved type row accessory  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:28] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:28] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:28] local.INFO: Saved type row strength  
[2026-06-03 03:16:28] local.INFO: Saved type row warmup  
[2026-06-03 03:16:44] local.INFO: assignWorkoutToClass:  {"workout_id":153,"class_id":"all","type":"workout_manager","action":"assign_all","date":"04/06/26 Thursday"} 
[2026-06-03 03:16:44] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 03:16:44] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row accessory  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row accessory  
[2026-06-03 03:16:45] local.INFO: Saved type row accessory  
[2026-06-03 03:16:45] local.INFO: Saved type row accessory  
[2026-06-03 03:16:45] local.INFO: Saved type row accessory  
[2026-06-03 03:16:45] local.INFO: Saved type row accessory  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:16:45] local.INFO: Saved type row strength  
[2026-06-03 03:16:45] local.INFO: Saved type row warmup  
[2026-06-03 03:16:45] local.INFO: Day received: {"day":"04/06/26 Thursday"} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":100,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":101,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":102,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":103,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":104,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":5,"status":1} 
[2026-06-03 03:17:12] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:17:12] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:17:12] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":100,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":101,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":102,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":103,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":104,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":5,"status":1} 
[2026-06-03 03:17:13] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":100,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":101,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":102,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":103,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":104,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":5,"status":1} 
[2026-06-03 03:17:13] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:17:13] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:17:24] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:17:24] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:17:24] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":100,"reps":0,"set_number":5,"round_number":"5/4","weight":null,"exercise_time":"13:58","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:17:24] local.INFO: Existing strength record: {"dailyStrength":{"id":93,"class_id":324,"round_number":"6/4","member_id":9,"strength_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":100,"type":"Primary","reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:13:35.000000Z","updated_at":"2026-06-03T03:13:37.000000Z","set_number":5,"exercise_time":"14:00","notes":null}} 
[2026-06-03 03:17:24] local.INFO: Strength updated {"workout_manager_id":153,"set_number":5} 
[2026-06-03 03:17:24] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:17:24] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:17:24] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":101,"reps":0,"set_number":5,"round_number":"5/4","weight":60,"exercise_time":"13:58","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:17:24] local.INFO: Existing strength record: {"dailyStrength":{"id":94,"class_id":324,"round_number":"6/4","member_id":9,"strength_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":101,"type":"Primary","reps":0,"weight":"60","date":"03/06/26 Wednesday","created_at":"2026-06-03T03:13:35.000000Z","updated_at":"2026-06-03T03:13:37.000000Z","set_number":5,"exercise_time":"14:00","notes":null}} 
[2026-06-03 03:17:24] local.INFO: Strength updated {"workout_manager_id":153,"set_number":5} 
[2026-06-03 03:17:25] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:17:25] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:17:25] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":102,"reps":0,"set_number":5,"round_number":"5/4","weight":80,"exercise_time":"13:58","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:17:25] local.INFO: Existing strength record: {"dailyStrength":{"id":95,"class_id":324,"round_number":"6/4","member_id":9,"strength_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":102,"type":"Primary","reps":0,"weight":"80","date":"03/06/26 Wednesday","created_at":"2026-06-03T03:13:36.000000Z","updated_at":"2026-06-03T03:13:38.000000Z","set_number":5,"exercise_time":"14:00","notes":null}} 
[2026-06-03 03:17:25] local.INFO: Strength updated {"workout_manager_id":153,"set_number":5} 
[2026-06-03 03:17:25] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:17:25] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:17:25] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":103,"reps":0,"set_number":5,"round_number":"5/4","weight":null,"exercise_time":"13:58","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:17:25] local.INFO: Existing strength record: {"dailyStrength":{"id":96,"class_id":324,"round_number":"6/4","member_id":9,"strength_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":103,"type":"Primary","reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T03:13:36.000000Z","updated_at":"2026-06-03T03:13:38.000000Z","set_number":5,"exercise_time":"14:00","notes":null}} 
[2026-06-03 03:17:25] local.INFO: Strength updated {"workout_manager_id":153,"set_number":5} 
[2026-06-03 03:17:26] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:17:26] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:17:26] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":104,"reps":0,"set_number":5,"round_number":"5/4","weight":24,"exercise_time":"13:58","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:17:26] local.INFO: Existing strength record: {"dailyStrength":{"id":97,"class_id":324,"round_number":"6/4","member_id":9,"strength_id":null,"workout_manager_id":153,"workout_format_type":"rounds","workout_format_id":104,"type":"Primary","reps":0,"weight":"24","date":"03/06/26 Wednesday","created_at":"2026-06-03T03:13:37.000000Z","updated_at":"2026-06-03T03:13:38.000000Z","set_number":5,"exercise_time":"14:00","notes":null}} 
[2026-06-03 03:17:26] local.INFO: Strength updated {"workout_manager_id":153,"set_number":5} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":100,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":101,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":102,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":103,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":104,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:17:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":5,"status":1} 
[2026-06-03 03:17:26] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:17:26] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:17:26] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:17:32] local.INFO: mobile login pin : 7825  
[2026-06-03 03:17:38] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row accessory  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:17:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:17:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:17:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row accessory  
[2026-06-03 03:17:38] local.INFO: Saved type row accessory  
[2026-06-03 03:17:38] local.INFO: Saved type row accessory  
[2026-06-03 03:17:38] local.INFO: Saved type row accessory  
[2026-06-03 03:17:38] local.INFO: Saved type row accessory  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:17:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:17:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:17:38] local.INFO: Saved type row strength  
[2026-06-03 03:17:38] local.INFO: Saved type row warmup  
[2026-06-03 03:18:15] local.INFO: assignWorkoutToClass:  {"workout_id":153,"class_id":"all","type":"workout_manager","action":"unassign","date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row accessory  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row weightlifting  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row weightlifting  
[2026-06-03 03:18:16] local.INFO: Saved type row weightlifting  
[2026-06-03 03:18:16] local.INFO: Saved type row weightlifting  
[2026-06-03 03:18:16] local.INFO: Saved type row weightlifting  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row accessory  
[2026-06-03 03:18:16] local.INFO: Saved type row accessory  
[2026-06-03 03:18:16] local.INFO: Saved type row accessory  
[2026-06-03 03:18:16] local.INFO: Saved type row accessory  
[2026-06-03 03:18:16] local.INFO: Saved type row accessory  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row conditioning  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Saved type row weightlifting  
[2026-06-03 03:18:16] local.INFO: Saved type row weightlifting  
[2026-06-03 03:18:16] local.INFO: Saved type row strength  
[2026-06-03 03:18:16] local.INFO: Saved type row warmup  
[2026-06-03 03:18:16] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":100,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":101,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":102,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":103,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":104,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":5,"status":1} 
[2026-06-03 03:18:33] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:18:33] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:18:33] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":100,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":101,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":102,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":103,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":104,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":5,"status":1} 
[2026-06-03 03:18:35] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:18:35] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:18:35] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":100,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":101,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":102,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":103,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":104,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":5,"status":1} 
[2026-06-03 03:18:37] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:18:37] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:18:37] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[153],"types":["conditioning"]} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Strength"],"formats":["rounds"]} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":100,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":101,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":101,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:13:08.000000Z","updated_at":"2026-06-03T03:13:08.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":101,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":102,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":103,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":104,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":100,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":101,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":102,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":103,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":153,"workout_format_id":104,"exists":true,"isCompleted":true,"round_number":"5/4","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:18:47] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":5,"completed":5,"status":1} 
[2026-06-03 03:18:47] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:18:47] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:18:47] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:19:10] local.INFO: assignWorkoutToClass:  {"workout_id":153,"class_id":"all","type":"workout_manager","action":"assign_all","date":"03/06/26 Wednesday"} 
[2026-06-03 03:19:10] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 03:19:10] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row accessory  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:10] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:10] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:10] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row accessory  
[2026-06-03 03:19:10] local.INFO: Saved type row accessory  
[2026-06-03 03:19:10] local.INFO: Saved type row accessory  
[2026-06-03 03:19:10] local.INFO: Saved type row accessory  
[2026-06-03 03:19:10] local.INFO: Saved type row accessory  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:10] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:10] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:10] local.INFO: Saved type row strength  
[2026-06-03 03:19:10] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:19:23] local.INFO: Tab value: all  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row accessory  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:23] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:23] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:23] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row accessory  
[2026-06-03 03:19:23] local.INFO: Saved type row accessory  
[2026-06-03 03:19:23] local.INFO: Saved type row accessory  
[2026-06-03 03:19:23] local.INFO: Saved type row accessory  
[2026-06-03 03:19:23] local.INFO: Saved type row accessory  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:23] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:23] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:23] local.INFO: Saved type row strength  
[2026-06-03 03:19:23] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row accessory  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row accessory  
[2026-06-03 03:19:24] local.INFO: Saved type row accessory  
[2026-06-03 03:19:24] local.INFO: Saved type row accessory  
[2026-06-03 03:19:24] local.INFO: Saved type row accessory  
[2026-06-03 03:19:24] local.INFO: Saved type row accessory  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row accessory  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row accessory  
[2026-06-03 03:19:24] local.INFO: Saved type row accessory  
[2026-06-03 03:19:24] local.INFO: Saved type row accessory  
[2026-06-03 03:19:24] local.INFO: Saved type row accessory  
[2026-06-03 03:19:24] local.INFO: Saved type row accessory  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row conditioning  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row weightlifting  
[2026-06-03 03:19:24] local.INFO: Saved type row strength  
[2026-06-03 03:19:24] local.INFO: Saved type row warmup  
[2026-06-03 03:19:52] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:19:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:19:52] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:19:52] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:19:52] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:19:53] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:19:53] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:19:53] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:19:53] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:19:53] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:19:53] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:19:53] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:19:54] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:19:54] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:19:54] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:19:54] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:20:44] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":153,"category_options_id":6,"type":null,"workout":"Snatch","link":null,"created_at":"2026-04-15T03:50:34.000000Z","updated_at":"2026-04-15T03:50:34.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","58":"Warmup","60":"Select","81":"Weightlifting"}}} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-03 03:20:45] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-03 03:20:45] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-03 03:20:45] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-03 03:21:44] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:44] local.INFO: Tab value: all  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row accessory  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:44] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:44] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:44] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row accessory  
[2026-06-03 03:21:44] local.INFO: Saved type row accessory  
[2026-06-03 03:21:44] local.INFO: Saved type row accessory  
[2026-06-03 03:21:44] local.INFO: Saved type row accessory  
[2026-06-03 03:21:44] local.INFO: Saved type row accessory  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:44] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:44] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:44] local.INFO: Saved type row strength  
[2026-06-03 03:21:44] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row accessory  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row accessory  
[2026-06-03 03:21:45] local.INFO: Saved type row accessory  
[2026-06-03 03:21:45] local.INFO: Saved type row accessory  
[2026-06-03 03:21:45] local.INFO: Saved type row accessory  
[2026-06-03 03:21:45] local.INFO: Saved type row accessory  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row accessory  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row accessory  
[2026-06-03 03:21:45] local.INFO: Saved type row accessory  
[2026-06-03 03:21:45] local.INFO: Saved type row accessory  
[2026-06-03 03:21:45] local.INFO: Saved type row accessory  
[2026-06-03 03:21:45] local.INFO: Saved type row accessory  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:45] local.INFO: Saved type row strength  
[2026-06-03 03:21:45] local.INFO: Saved type row warmup  
[2026-06-03 03:21:50] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:21:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:21:51] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:51] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:51] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:21:53] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:53] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:53] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:21:53] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:21:53] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:53] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:53] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:21:54] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:21:54] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:54] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:54] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153],"types":["strength","conditioning"]} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153]} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[153],"types":["Conditioning"],"formats":["rounds"]} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-03 03:21:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:21:55] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:55] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:55] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:21:55] local.INFO: assignWorkoutToClass:  {"workout_id":171,"class_id":"all","type":"workout_manager","action":"assign_all","date":"03/06/26 Wednesday"} 
[2026-06-03 03:21:55] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 03:21:56] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row accessory  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:56] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:56] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:56] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row accessory  
[2026-06-03 03:21:56] local.INFO: Saved type row accessory  
[2026-06-03 03:21:56] local.INFO: Saved type row accessory  
[2026-06-03 03:21:56] local.INFO: Saved type row accessory  
[2026-06-03 03:21:56] local.INFO: Saved type row accessory  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row conditioning  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:56] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:56] local.INFO: Saved type row weightlifting  
[2026-06-03 03:21:56] local.INFO: Saved type row strength  
[2026-06-03 03:21:56] local.INFO: Saved type row warmup  
[2026-06-03 03:21:59] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:21:59] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:21:59] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:59] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:21:59] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:00] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:00] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:00] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:01] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:01] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:01] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:04] local.INFO: assignWorkoutToClass:  {"workout_id":153,"class_id":"all","type":"workout_manager","action":"unassign","date":"03/06/26 Wednesday"} 
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row accessory  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row accessory  
[2026-06-03 03:22:04] local.INFO: Saved type row accessory  
[2026-06-03 03:22:04] local.INFO: Saved type row accessory  
[2026-06-03 03:22:04] local.INFO: Saved type row accessory  
[2026-06-03 03:22:04] local.INFO: Saved type row accessory  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:04] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:04] local.INFO: Saved type row strength  
[2026-06-03 03:22:04] local.INFO: Saved type row warmup  
[2026-06-03 03:22:04] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:04] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:04] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:04] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:04] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:06] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:06] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:06] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:06] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:06] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:06] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:08] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:08] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:08] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:08] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:12] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:12] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:12] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:12] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:12] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:12] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:13] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:13] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:13] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:13] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:13] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:13] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:14] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:14] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:14] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:14] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:17] local.INFO: mobile login pin : 7825  
[2026-06-03 03:22:21] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:21] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:21] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:21] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:21] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:23] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:23] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:23] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:23] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:31] local.INFO: Tab value: all  
[2026-06-03 03:22:31] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row accessory  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row accessory  
[2026-06-03 03:22:31] local.INFO: Saved type row accessory  
[2026-06-03 03:22:31] local.INFO: Saved type row accessory  
[2026-06-03 03:22:31] local.INFO: Saved type row accessory  
[2026-06-03 03:22:31] local.INFO: Saved type row accessory  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:31] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:31] local.INFO: Saved type row strength  
[2026-06-03 03:22:31] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row accessory  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row accessory  
[2026-06-03 03:22:32] local.INFO: Saved type row accessory  
[2026-06-03 03:22:32] local.INFO: Saved type row accessory  
[2026-06-03 03:22:32] local.INFO: Saved type row accessory  
[2026-06-03 03:22:32] local.INFO: Saved type row accessory  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row accessory  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row accessory  
[2026-06-03 03:22:32] local.INFO: Saved type row accessory  
[2026-06-03 03:22:32] local.INFO: Saved type row accessory  
[2026-06-03 03:22:32] local.INFO: Saved type row accessory  
[2026-06-03 03:22:32] local.INFO: Saved type row accessory  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row conditioning  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row weightlifting  
[2026-06-03 03:22:32] local.INFO: Saved type row strength  
[2026-06-03 03:22:32] local.INFO: Saved type row warmup  
[2026-06-03 03:22:35] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:35] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:35] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:35] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:36] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:36] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:36] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:37] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:37] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:37] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:37] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:37] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:22:45] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:22:45] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:45] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:22:45] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:23:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:23:00] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:00] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:00] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:23:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:23:20] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:20] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:20] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:23:22] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:22] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:22] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:23:22] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:23:22] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:22] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:22] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning"],"formats":["rounds","emom"]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":33,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":34,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:23:31] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":7,"completed":0,"status":0} 
[2026-06-03 03:23:31] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:31] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:31] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:23:37] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:37] local.INFO: Tab value: all  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row accessory  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:37] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:37] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:37] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row accessory  
[2026-06-03 03:23:37] local.INFO: Saved type row accessory  
[2026-06-03 03:23:37] local.INFO: Saved type row accessory  
[2026-06-03 03:23:37] local.INFO: Saved type row accessory  
[2026-06-03 03:23:37] local.INFO: Saved type row accessory  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:37] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row accessory  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:37] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:37] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:37] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:37] local.INFO: Saved type row accessory  
[2026-06-03 03:23:37] local.INFO: Saved type row accessory  
[2026-06-03 03:23:37] local.INFO: Saved type row accessory  
[2026-06-03 03:23:37] local.INFO: Saved type row accessory  
[2026-06-03 03:23:37] local.INFO: Saved type row accessory  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row strength  
[2026-06-03 03:23:37] local.INFO: Saved type row warmup  
[2026-06-03 03:23:37] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row accessory  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row accessory  
[2026-06-03 03:23:38] local.INFO: Saved type row accessory  
[2026-06-03 03:23:38] local.INFO: Saved type row accessory  
[2026-06-03 03:23:38] local.INFO: Saved type row accessory  
[2026-06-03 03:23:38] local.INFO: Saved type row accessory  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:38] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:38] local.INFO: Saved type row strength  
[2026-06-03 03:23:38] local.INFO: Saved type row warmup  
[2026-06-03 03:23:40] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:23:40] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:23:40] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:40] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:40] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:23:41] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:23:41] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:23:41] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:23:41] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:23:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:23:41] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:41] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:23:42] local.INFO: assignWorkoutToClass:  {"workout_id":171,"class_id":"all","type":"workout_manager","action":"assign_all","date":"03/06/26 Wednesday"} 
[2026-06-03 03:23:42] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 03:23:42] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row accessory  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:42] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:42] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:42] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row accessory  
[2026-06-03 03:23:42] local.INFO: Saved type row accessory  
[2026-06-03 03:23:42] local.INFO: Saved type row accessory  
[2026-06-03 03:23:42] local.INFO: Saved type row accessory  
[2026-06-03 03:23:42] local.INFO: Saved type row accessory  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row conditioning  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:42] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:42] local.INFO: Saved type row weightlifting  
[2026-06-03 03:23:42] local.INFO: Saved type row strength  
[2026-06-03 03:23:42] local.INFO: Saved type row warmup  
[2026-06-03 03:23:44] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:23:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:23:44] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:44] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:23:44] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:26:19] local.INFO: storestrengthdaily function called.  
[2026-06-03 03:26:19] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 03:26:19] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":171,"workout_format_type":"emom","workout_format_id":35,"reps":0,"set_number":1,"round_number":"1/2","weight":null,"exercise_time":"02:00","notes":null,"status":"incompleted","date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 03:26:19] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-03 03:26:19] local.INFO: New strength record created {"workout_manager_id":171,"set_number":1} 
[2026-06-03 03:29:14] local.INFO: assignWorkoutToClass:  {"workout_id":171,"class_id":"all","type":"workout_manager","action":"unassign","date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row accessory  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row accessory  
[2026-06-03 03:29:14] local.INFO: Saved type row accessory  
[2026-06-03 03:29:14] local.INFO: Saved type row accessory  
[2026-06-03 03:29:14] local.INFO: Saved type row accessory  
[2026-06-03 03:29:14] local.INFO: Saved type row accessory  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:14] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:14] local.INFO: Saved type row strength  
[2026-06-03 03:29:14] local.INFO: Saved type row warmup  
[2026-06-03 03:29:15] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:26] local.INFO: assignWorkoutToClass:  {"workout_id":159,"class_id":"all","type":"workout_manager","action":"assign_all","date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:26] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row accessory  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row accessory  
[2026-06-03 03:29:26] local.INFO: Saved type row accessory  
[2026-06-03 03:29:26] local.INFO: Saved type row accessory  
[2026-06-03 03:29:26] local.INFO: Saved type row accessory  
[2026-06-03 03:29:26] local.INFO: Saved type row accessory  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:29:26] local.INFO: Saved type row strength  
[2026-06-03 03:29:26] local.INFO: Saved type row warmup  
[2026-06-03 03:29:27] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":1,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":0,"not_matched":7,"empty":2}}} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:29:32] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:29:32] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:32] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:32] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":1,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":0,"not_matched":7,"empty":2}}} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:29:33] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:33] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:33] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":1,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":0,"not_matched":7,"empty":2}}} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:29:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:29:33] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:33] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:33] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":1,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":0,"not_matched":7,"empty":2}}} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:29:34] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:34] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:34] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":1,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":0,"not_matched":7,"empty":2}}} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:29:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:29:34] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:34] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:34] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":1,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":0,"not_matched":7,"empty":2}}} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":1,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":0,"not_matched":7,"empty":2}}} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:29:35] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:35] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:35] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:29:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:29:35] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:35] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:35] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":1,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":0,"not_matched":7,"empty":2}}} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:29:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:29:36] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:36] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:36] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[42],"test_ids":[78]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"}}} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42]} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":1,"rows_not_matched":13,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":0,"not_matched":7,"empty":2}}} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:29:43] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:29:43] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:43] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:43] local.INFO: Tests retrieved {"count":1,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":18,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":19,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":20,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":21,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":21,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":22,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":23,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":7,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":24,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:29:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:29:56] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:56] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:56] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":18,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":19,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":20,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":21,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":21,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":22,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":23,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":7,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":24,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:29:59] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:29:59] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:59] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:29:59] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":18,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":19,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":20,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":21,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":21,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":22,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":23,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":7,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":24,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:30:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:30:01] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:30:01] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:30:01] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":18,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":18,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":18,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":19,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":19,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":19,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":20,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":20,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":20,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":21,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":21,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":21,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":22,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":22,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":22,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":23,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":23,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":23,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":24,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":24,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":7,"created_at":"2026-06-03T01:31:00.000000Z","updated_at":"2026-06-03T01:31:00.000000Z","restred":"00:04:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":24,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:30:03] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:30:03] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:30:03] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:30:03] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:31:34] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:31:34] local.INFO: Tab value: all  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row accessory  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row accessory  
[2026-06-03 03:31:34] local.INFO: Saved type row accessory  
[2026-06-03 03:31:34] local.INFO: Saved type row accessory  
[2026-06-03 03:31:34] local.INFO: Saved type row accessory  
[2026-06-03 03:31:34] local.INFO: Saved type row accessory  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row accessory  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row accessory  
[2026-06-03 03:31:34] local.INFO: Saved type row accessory  
[2026-06-03 03:31:34] local.INFO: Saved type row accessory  
[2026-06-03 03:31:34] local.INFO: Saved type row accessory  
[2026-06-03 03:31:34] local.INFO: Saved type row accessory  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:34] local.INFO: Saved type row strength  
[2026-06-03 03:31:34] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row accessory  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row accessory  
[2026-06-03 03:31:35] local.INFO: Saved type row accessory  
[2026-06-03 03:31:35] local.INFO: Saved type row accessory  
[2026-06-03 03:31:35] local.INFO: Saved type row accessory  
[2026-06-03 03:31:35] local.INFO: Saved type row accessory  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:31:35] local.INFO: Saved type row strength  
[2026-06-03 03:31:35] local.INFO: Saved type row warmup  
[2026-06-03 03:31:47] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:31:47] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:31:47] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:31:47] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:31:47] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:31:47] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:31:47] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:31:47] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:31:48] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:31:48] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:31:48] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:31:48] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:31:52] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:31:52] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:31:52] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:31:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:31:52] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:31:52] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:31:52] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:32:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:32:06] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:32:06] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:32:06] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:32:07] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:32:07] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:32:07] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:32:07] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:32:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:32:08] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:32:08] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:32:08] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[42,118],"test_ids":[78,79]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":79,"weight":110.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:29:56"}}} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":79,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":79,"test_created_at":"2026-06-03 03:29:56","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:33:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:33:00] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:33:00] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:33:00] local.INFO: Tests retrieved {"count":2,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[42,118],"test_ids":[78,79,80]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"}}} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:33:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:33:15] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:33:15] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:33:15] local.INFO: Tests retrieved {"count":3,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[42,118],"test_ids":[78,79,80]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"}}} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:33:31] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:33:31] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:33:31] local.INFO: Tests retrieved {"count":3,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[42,118],"test_ids":[78,79,80]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"}}} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:33:32] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:33:32] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:33:32] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:33:32] local.INFO: Tests retrieved {"count":3,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[42,118],"test_ids":[78,79,80]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"}}} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,159,171],"types":["strength","conditioning"]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,159,171]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,159,171],"types":["Conditioning","Strength"],"formats":["rounds","pyramid","emom"]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":25,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":25,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":25,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":26,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":26,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":26,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":27,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":27,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":27,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":28,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":28,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":28,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":29,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":29,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":29,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":30,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":30,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":30,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":31,"workout_libraries_id":118,"attached_test_id":80,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":31,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-03T03:31:30.000000Z","updated_at":"2026-06-03T03:31:30.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":100.0,"test_unit_type":"kg","test_id":80,"test_created_at":"2026-06-03 03:33:14","format_row_id":31,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":14,"rows_with_lib_id":14,"rows_matched":8,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":2}}} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-03 03:33:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:33:51] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:33:51] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:33:51] local.INFO: Tests retrieved {"count":3,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:36:54] local.INFO: assignWorkoutToClass:  {"workout_id":159,"class_id":"all","type":"workout_manager","action":"unassign","date":"03/06/26 Wednesday"} 
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row accessory  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:36:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:36:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:36:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row accessory  
[2026-06-03 03:36:54] local.INFO: Saved type row accessory  
[2026-06-03 03:36:54] local.INFO: Saved type row accessory  
[2026-06-03 03:36:54] local.INFO: Saved type row accessory  
[2026-06-03 03:36:54] local.INFO: Saved type row accessory  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row conditioning  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:36:54] local.INFO: Saved type row weightlifting  
[2026-06-03 03:36:54] local.INFO: Saved type row strength  
[2026-06-03 03:36:54] local.INFO: Saved type row warmup  
[2026-06-03 03:36:55] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[42,118],"test_ids":[78,79,80]} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"}}} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:40:23] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:40:23] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:40:23] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:40:23] local.INFO: Tests retrieved {"count":3,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[42,118],"test_ids":[78,79,80]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"}}} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:40:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:40:25] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:40:25] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:40:25] local.INFO: Tests retrieved {"count":3,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:41:46] local.INFO: mobile login pin : 1234  
[2026-06-03 03:41:53] local.INFO: mobile login pin : 5135  
[2026-06-03 03:42:01] local.INFO: mobile login pin : 5135  
[2026-06-03 03:42:06] local.INFO: mobile login pin : 3333  
[2026-06-03 03:42:33] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":153,"category_options_id":6,"type":null,"workout":"Snatch","link":null,"created_at":"2026-04-15T03:50:34.000000Z","updated_at":"2026-04-15T03:50:34.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","58":"Warmup","60":"Select","81":"Weightlifting"}}} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":30,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":32,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":33,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":36,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":38,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":40,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":45,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":47,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":49,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":51,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":66,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":67,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":69,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":71,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":41,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":43,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":44,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":84,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":86,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":88,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-06-03 03:42:34] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:42:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:42:55] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:42:55] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:42:55] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:42:57] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:42:57] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:42:57] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:42:57] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:42:59] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:42:59] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:42:59] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:42:59] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:43:54] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:43:54] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:43:54] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:43:54] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:45:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:45:33] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:45:33] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:45:33] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:45:35] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:45:35] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:45:35] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:45:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:45:35] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:45:35] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:45:35] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:45:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:45:37] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:45:37] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:45:37] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[153,171],"types":["strength","conditioning"]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[153,171],"types":["Conditioning","Strength"],"formats":["rounds","emom"]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 03:45:38] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:45:38] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:45:38] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:45:38] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:52:26] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:52:26] local.INFO: Tab value: all  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row accessory  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row accessory  
[2026-06-03 03:52:26] local.INFO: Saved type row accessory  
[2026-06-03 03:52:26] local.INFO: Saved type row accessory  
[2026-06-03 03:52:26] local.INFO: Saved type row accessory  
[2026-06-03 03:52:26] local.INFO: Saved type row accessory  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:26] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:26] local.INFO: Saved type row strength  
[2026-06-03 03:52:26] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row accessory  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:27] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:27] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:27] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row accessory  
[2026-06-03 03:52:27] local.INFO: Saved type row accessory  
[2026-06-03 03:52:27] local.INFO: Saved type row accessory  
[2026-06-03 03:52:27] local.INFO: Saved type row accessory  
[2026-06-03 03:52:27] local.INFO: Saved type row accessory  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:27] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row accessory  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:27] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:27] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:27] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:27] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:27] local.INFO: Saved type row accessory  
[2026-06-03 03:52:27] local.INFO: Saved type row accessory  
[2026-06-03 03:52:27] local.INFO: Saved type row accessory  
[2026-06-03 03:52:27] local.INFO: Saved type row accessory  
[2026-06-03 03:52:27] local.INFO: Saved type row accessory  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row warmup  
[2026-06-03 03:52:27] local.INFO: Saved type row strength  
[2026-06-03 03:52:28] local.INFO: Saved type row warmup  
[2026-06-03 03:52:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:28] local.INFO: Saved type row strength  
[2026-06-03 03:52:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:28] local.INFO: Saved type row strength  
[2026-06-03 03:52:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:28] local.INFO: Saved type row strength  
[2026-06-03 03:52:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:28] local.INFO: Saved type row strength  
[2026-06-03 03:52:28] local.INFO: Saved type row warmup  
[2026-06-03 03:52:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:28] local.INFO: Saved type row conditioning  
[2026-06-03 03:52:28] local.INFO: Saved type row strength  
[2026-06-03 03:52:28] local.INFO: Saved type row warmup  
[2026-06-03 03:52:28] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:28] local.INFO: Saved type row weightlifting  
[2026-06-03 03:52:28] local.INFO: Saved type row strength  
[2026-06-03 03:52:28] local.INFO: Saved type row warmup  
[2026-06-03 03:52:47] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":153,"category_options_id":6,"type":null,"workout":"Snatch","link":null,"created_at":"2026-04-15T03:50:34.000000Z","updated_at":"2026-04-15T03:50:34.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","58":"Warmup","60":"Select","81":"Weightlifting"}}} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-03 03:52:48] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-03 03:52:48] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-03 03:52:48] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-03 03:53:33] local.INFO: Tab value: all  
[2026-06-03 03:53:33] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row accessory  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row accessory  
[2026-06-03 03:53:34] local.INFO: Saved type row accessory  
[2026-06-03 03:53:34] local.INFO: Saved type row accessory  
[2026-06-03 03:53:34] local.INFO: Saved type row accessory  
[2026-06-03 03:53:34] local.INFO: Saved type row accessory  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row accessory  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row accessory  
[2026-06-03 03:53:34] local.INFO: Saved type row accessory  
[2026-06-03 03:53:34] local.INFO: Saved type row accessory  
[2026-06-03 03:53:34] local.INFO: Saved type row accessory  
[2026-06-03 03:53:34] local.INFO: Saved type row accessory  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:34] local.INFO: Saved type row strength  
[2026-06-03 03:53:34] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row accessory  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row accessory  
[2026-06-03 03:53:35] local.INFO: Saved type row accessory  
[2026-06-03 03:53:35] local.INFO: Saved type row accessory  
[2026-06-03 03:53:35] local.INFO: Saved type row accessory  
[2026-06-03 03:53:35] local.INFO: Saved type row accessory  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:35] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:35] local.INFO: Saved type row strength  
[2026-06-03 03:53:35] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: assignWorkoutToClass:  {"workout_id":152,"class_id":"all","type":"workout_manager","action":"assign_all","date":"03/06/26 Wednesday"} 
[2026-06-03 03:53:50] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-03 03:53:50] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row accessory  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:50] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:50] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:50] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row accessory  
[2026-06-03 03:53:50] local.INFO: Saved type row accessory  
[2026-06-03 03:53:50] local.INFO: Saved type row accessory  
[2026-06-03 03:53:50] local.INFO: Saved type row accessory  
[2026-06-03 03:53:50] local.INFO: Saved type row accessory  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row conditioning  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:53:50] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:50] local.INFO: Saved type row weightlifting  
[2026-06-03 03:53:50] local.INFO: Saved type row strength  
[2026-06-03 03:53:50] local.INFO: Saved type row warmup  
[2026-06-03 03:54:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:54:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:54:27] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:27] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:27] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:54:30] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:54:30] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:30] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:30] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:54:31] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:54:31] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:31] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:31] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[42,118],"test_ids":[78,79,80]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"}}} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":1,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:54:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:54:33] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:33] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:33] local.INFO: Tests retrieved {"count":3,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[42,118],"test_ids":[78,79,80]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"}}} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":1,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:54:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:54:34] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:34] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:34] local.INFO: Tests retrieved {"count":3,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[42,118],"test_ids":[78,79,80]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"}}} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":1,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:54:35] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:35] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:35] local.INFO: Tests retrieved {"count":3,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[42,118],"test_ids":[78,79,80]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"}}} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":1,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:54:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:54:35] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:35] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:35] local.INFO: Tests retrieved {"count":3,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[42,118],"test_ids":[78,79,80]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"}}} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":1,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:54:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:54:36] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:36] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:36] local.INFO: Tests retrieved {"count":3,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[42,118],"test_ids":[78,79,80]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"}}} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118]} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":1,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:54:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:54:44] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:44] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:44] local.INFO: Tests retrieved {"count":3,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[]} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":0,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:54:47] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:54:47] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:47] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:47] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"attached_test_id":81,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":67,"workout_manager_id":152,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":5,"created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":81,"test_created_at":"2026-06-03 03:54:57","format_row_id":67,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":241,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":242,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":243,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":244,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":245,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"}]}} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":2,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:54:57] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:54:57] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:57] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:57] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"attached_test_id":82,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":67,"workout_manager_id":152,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":5,"created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":82,"test_created_at":"2026-06-03 03:54:58","format_row_id":67,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":241,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":242,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":243,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":244,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":245,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"}]}} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":1,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:54:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:54:58] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:58] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:54:58] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"attached_test_id":81,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":67,"workout_manager_id":152,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":5,"created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":81,"test_created_at":"2026-06-03 03:54:57","format_row_id":67,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":241,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":242,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":243,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":244,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":245,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"}]}} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":2,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:55:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:55:00] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:55:00] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:55:00] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"attached_test_id":81,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":67,"workout_manager_id":152,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":5,"created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":81,"test_created_at":"2026-06-03 03:54:57","format_row_id":67,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":241,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":242,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":243,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":244,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":245,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"}]}} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":2,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:55:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:55:01] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:55:01] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:55:01] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"attached_test_id":81,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":67,"workout_manager_id":152,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":5,"created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":81,"test_created_at":"2026-06-03 03:54:57","format_row_id":67,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":241,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":242,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":243,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":244,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":245,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"}]}} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":2,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:55:02] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:55:02] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:55:02] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[153,152,171],"types":["strength","conditioning"]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[152,153,171],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom"]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"attached_test_id":82,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":67,"workout_manager_id":152,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":5,"created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":82,"test_created_at":"2026-06-03 03:54:58","format_row_id":67,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":241,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":242,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":243,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":244,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":245,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"}]}} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 03:55:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":1,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 03:55:03] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":0,"status":0} 
[2026-06-03 03:55:03] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-03 03:55:03] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:55:03] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 03:55:03] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 03:58:03] local.INFO: storeconditioningdaily function called.  
[2026-06-03 03:58:03] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-03 03:58:03] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":152,"workout_format_type":"straight-sets","workout_format_id":241,"reps":5,"weight":110.25,"date":"03/06/26 Wednesday","set_number":1,"class_Id":324}]} 
[2026-06-03 03:58:03] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 03:58:03] local.INFO: New conditioning record created {"workout_manager_id":152} 
[2026-06-03 04:00:06] local.INFO: storeconditioningdaily function called.  
[2026-06-03 04:00:06] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-03 04:00:06] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":152,"workout_format_type":"straight-sets","workout_format_id":242,"reps":5,"weight":96,"date":"03/06/26 Wednesday","set_number":2,"class_Id":324}]} 
[2026-06-03 04:00:06] local.INFO: Existing conditioning record: {"dailyConditioning":null} 
[2026-06-03 04:00:06] local.INFO: New conditioning record created {"workout_manager_id":152} 
[2026-06-03 04:58:52] local.INFO: Tab value: all  
[2026-06-03 04:58:52] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row accessory  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row accessory  
[2026-06-03 04:58:53] local.INFO: Saved type row accessory  
[2026-06-03 04:58:53] local.INFO: Saved type row accessory  
[2026-06-03 04:58:53] local.INFO: Saved type row accessory  
[2026-06-03 04:58:53] local.INFO: Saved type row accessory  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row accessory  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row accessory  
[2026-06-03 04:58:53] local.INFO: Saved type row accessory  
[2026-06-03 04:58:53] local.INFO: Saved type row accessory  
[2026-06-03 04:58:53] local.INFO: Saved type row accessory  
[2026-06-03 04:58:53] local.INFO: Saved type row accessory  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:53] local.INFO: Saved type row strength  
[2026-06-03 04:58:53] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row accessory  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:54] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:54] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:54] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row accessory  
[2026-06-03 04:58:54] local.INFO: Saved type row accessory  
[2026-06-03 04:58:54] local.INFO: Saved type row accessory  
[2026-06-03 04:58:54] local.INFO: Saved type row accessory  
[2026-06-03 04:58:54] local.INFO: Saved type row accessory  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row conditioning  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 04:58:54] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:54] local.INFO: Saved type row weightlifting  
[2026-06-03 04:58:54] local.INFO: Saved type row strength  
[2026-06-03 04:58:54] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:05:39] local.INFO: Tab value: all  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row accessory  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row accessory  
[2026-06-03 05:05:39] local.INFO: Saved type row accessory  
[2026-06-03 05:05:39] local.INFO: Saved type row accessory  
[2026-06-03 05:05:39] local.INFO: Saved type row accessory  
[2026-06-03 05:05:39] local.INFO: Saved type row accessory  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row accessory  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row warmup  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row strength  
[2026-06-03 05:05:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:39] local.INFO: Saved type row accessory  
[2026-06-03 05:05:39] local.INFO: Saved type row accessory  
[2026-06-03 05:05:39] local.INFO: Saved type row accessory  
[2026-06-03 05:05:39] local.INFO: Saved type row accessory  
[2026-06-03 05:05:40] local.INFO: Saved type row accessory  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:40] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row accessory  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:40] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:40] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:40] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row accessory  
[2026-06-03 05:05:40] local.INFO: Saved type row accessory  
[2026-06-03 05:05:40] local.INFO: Saved type row accessory  
[2026-06-03 05:05:40] local.INFO: Saved type row accessory  
[2026-06-03 05:05:40] local.INFO: Saved type row accessory  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:40] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:40] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:40] local.INFO: Saved type row strength  
[2026-06-03 05:05:40] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: assignWorkoutToClass:  {"workout_id":176,"class_id":324,"type":"workout_manager","action":"assign","date":"03/06/26 Wednesday"} 
[2026-06-03 05:05:46] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row accessory  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:46] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:46] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:46] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row accessory  
[2026-06-03 05:05:46] local.INFO: Saved type row accessory  
[2026-06-03 05:05:46] local.INFO: Saved type row accessory  
[2026-06-03 05:05:46] local.INFO: Saved type row accessory  
[2026-06-03 05:05:46] local.INFO: Saved type row accessory  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row conditioning  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:05:46] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:46] local.INFO: Saved type row weightlifting  
[2026-06-03 05:05:46] local.INFO: Saved type row strength  
[2026-06-03 05:05:46] local.INFO: Saved type row warmup  
[2026-06-03 05:06:04] local.INFO: mobile login pin : 7825  
[2026-06-03 05:06:08] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,152,171,176],"types":["strength","conditioning"]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171,176]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[152,153,171,176],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom","intervals"]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"attached_test_id":81,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":67,"workout_manager_id":152,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":5,"created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":81,"test_created_at":"2026-06-03 03:54:57","format_row_id":67,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":241,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":242,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":243,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":244,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":245,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"}]}} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":12,"rows_with_lib_id":12,"rows_matched":2,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":1,"status":0} 
[2026-06-03 05:06:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":6,"completed":0,"status":0} 
[2026-06-03 05:06:08] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:06:08] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:06:08] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,152,171,176],"types":["strength","conditioning"]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,152,171,176]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[152,153,171,176],"types":["Conditioning","Strength"],"formats":["straight-sets","rounds","emom","intervals"]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":152,"relation":"straights","format_row_id":67,"workout_libraries_id":17,"attached_test_id":81,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":67,"workout_manager_id":152,"workout_libraries_id":17,"training_load":75,"unit_type":"%","reps":5,"created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":81,"test_created_at":"2026-06-03 03:54:57","format_row_id":67,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":241,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":242,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":243,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":244,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"},{"id":245,"workout_libraries_id":17,"straight_id":67,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-03T03:53:30.000000Z","updated_at":"2026-06-03T03:53:30.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:15"}]}} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":35,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":36,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":12,"rows_with_lib_id":12,"rows_matched":2,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":171,"workout_format_id":35,"exists":true,"isCompleted":false,"round_number":"1/2","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":10,"completed":1,"status":0} 
[2026-06-03 05:06:11] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":6,"completed":0,"status":0} 
[2026-06-03 05:06:11] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:06:11] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:06:11] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 05:06:25] local.INFO: assignWorkoutToClass:  {"workout_id":152,"class_id":"all","type":"workout_manager","action":"unassign","date":"03/06/26 Wednesday"} 
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row accessory  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row weightlifting  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row weightlifting  
[2026-06-03 05:06:25] local.INFO: Saved type row weightlifting  
[2026-06-03 05:06:25] local.INFO: Saved type row weightlifting  
[2026-06-03 05:06:25] local.INFO: Saved type row weightlifting  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row accessory  
[2026-06-03 05:06:25] local.INFO: Saved type row accessory  
[2026-06-03 05:06:25] local.INFO: Saved type row accessory  
[2026-06-03 05:06:25] local.INFO: Saved type row accessory  
[2026-06-03 05:06:25] local.INFO: Saved type row accessory  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row conditioning  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Saved type row weightlifting  
[2026-06-03 05:06:25] local.INFO: Saved type row weightlifting  
[2026-06-03 05:06:25] local.INFO: Saved type row strength  
[2026-06-03 05:06:25] local.INFO: Saved type row warmup  
[2026-06-03 05:06:25] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:54:38] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:54:38] local.INFO: Tab value: all  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row accessory  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row accessory  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:38] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:38] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:38] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row accessory  
[2026-06-03 05:54:38] local.INFO: Saved type row accessory  
[2026-06-03 05:54:38] local.INFO: Saved type row accessory  
[2026-06-03 05:54:38] local.INFO: Saved type row accessory  
[2026-06-03 05:54:38] local.INFO: Saved type row accessory  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:38] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:38] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:38] local.INFO: Saved type row strength  
[2026-06-03 05:54:38] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row accessory  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:39] local.INFO: Saved type row strength  
[2026-06-03 05:54:39] local.INFO: Saved type row warmup  
[2026-06-03 05:54:42] local.INFO: assignWorkoutToClass:  {"workout_id":171,"class_id":324,"type":"workout_manager","action":"assign","date":"03/06/26 Wednesday"} 
[2026-06-03 05:54:43] local.INFO: Day received: {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row accessory  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row accessory  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:43] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:43] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:43] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row accessory  
[2026-06-03 05:54:43] local.INFO: Saved type row accessory  
[2026-06-03 05:54:43] local.INFO: Saved type row accessory  
[2026-06-03 05:54:43] local.INFO: Saved type row accessory  
[2026-06-03 05:54:43] local.INFO: Saved type row accessory  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row conditioning  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:54:43] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:43] local.INFO: Saved type row weightlifting  
[2026-06-03 05:54:43] local.INFO: Saved type row strength  
[2026-06-03 05:54:43] local.INFO: Saved type row warmup  
[2026-06-03 05:55:12] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 05:55:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 05:55:12] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:12] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:12] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 05:55:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 05:55:13] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:13] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:13] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 05:55:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 05:55:15] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:15] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:15] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 05:55:32] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 05:55:32] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:32] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:32] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 05:55:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 05:55:33] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:33] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:33] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 05:55:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 05:55:36] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:36] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:36] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 05:55:38] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 05:55:38] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:38] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:38] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 05:55:40] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 05:55:40] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:40] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:40] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 05:55:42] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:42] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:42] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 05:55:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 05:55:42] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:42] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:55:42] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 05:58:16] local.INFO: mobile login pin : 3333  
[2026-06-03 05:58:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[17]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[17]} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 05:58:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 05:58:49] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:58:49] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:58:49] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[17]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[17]} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 05:58:54] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 05:58:54] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:58:54] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 05:58:54] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 05:59:06] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":153,"category_options_id":6,"type":null,"workout":"Snatch","link":null,"created_at":"2026-04-15T03:50:34.000000Z","updated_at":"2026-04-15T03:50:34.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","58":"Warmup","60":"Select","81":"Weightlifting"}}} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":98,"model":"App\\Models\\DailyStrength","workout_format_id":35,"workout_format_type":"emom"} 
[2026-06-03 05:59:07] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-03 05:59:07] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-03 05:59:07] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-03 05:59:07] local.INFO: Debug record {"daily_id":110,"format_type":"straight-sets","format_id":242,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-03 05:59:07] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:00:11] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 06:00:11] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:00:11] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:00:11] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:00:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 06:00:13] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:00:13] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:00:13] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[42,118,17],"test_ids":[78,79,80,81]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[42,118,17],"testMap_sample":{"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"118":{"test_id":80,"weight":100.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:33:14"},"17":{"test_id":81,"weight":165.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:57"}}} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[42,118,17]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"attached_test_id":78,"attached_test_weight":80.0,"attached_unit_type":"kg","row_data":{"id":106,"workout_manager_id":153,"workout_libraries_id":42,"training_load":60,"unit_type":"%","gender":null,"reps":5,"created_at":"2026-06-03T03:19:20.000000Z","updated_at":"2026-06-03T03:19:20.000000Z","is_for_time":1,"time_to_complete":"14:00","test_weight":80.0,"test_unit_type":"kg","test_id":78,"test_created_at":"2026-06-03 03:12:07","format_row_id":106,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}}}} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[42,118,17]} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":1,"not_matched":4,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:00:14] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-03 06:00:14] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:00:14] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:00:14] local.INFO: Tests retrieved {"count":4,"tests":[{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":79,"workout_manager_id":172,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-03T03:29:56.000000Z","updated_at":"2026-06-03T03:29:56.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":80,"workout_manager_id":173,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"03/06/26 Wednesday","weight":100.0,"unit_type":"kg","created_at":"2026-06-03T03:33:14.000000Z","updated_at":"2026-06-03T03:33:14.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":81,"workout_manager_id":174,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"03/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-03T03:54:57.000000Z","updated_at":"2026-06-03T03:54:57.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-03 06:00:46] local.INFO: storestrengthdaily function called.  
[2026-06-03 06:00:46] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-03 06:00:46] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":176,"workout_format_type":"intervals","workout_format_id":29,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:45","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 06:00:46] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-03 06:00:46] local.INFO: New strength record created {"workout_manager_id":176,"set_number":1} 
[2026-06-03 06:00:46] local.INFO: storestrengthdaily function called.  
[2026-06-03 06:00:46] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-03 06:00:46] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":176,"workout_format_type":"intervals","workout_format_id":28,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:45","notes":null,"status":null,"date":"03/06/26 Wednesday","class_Id":324}]} 
[2026-06-03 06:00:46] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-03 06:00:46] local.INFO: New strength record created {"workout_manager_id":176,"set_number":1} 
[2026-06-03 06:01:20] local.INFO: storestrengthdaily function called.  
[2026-06-03 06:01:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-03 06:01:20] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":176,"workout_format_type":"intervals","workout_format_id":28,"reps":0,"weight":0,"date":"03/06/26 Wednesday","exercise_time":"00:00","notes":null,"set_number":1,"class_Id":324},{"workout_manager_id":176,"workout_format_type":"intervals","workout_format_id":29,"reps":0,"weight":20,"date":"03/06/26 Wednesday","exercise_time":"00:00","notes":null,"set_number":1,"class_Id":324},{"workout_manager_id":176,"workout_format_type":"intervals","workout_format_id":30,"reps":0,"weight":20,"date":"03/06/26 Wednesday","exercise_time":"00:00","notes":null,"set_number":2,"class_Id":324},{"workout_manager_id":176,"workout_format_type":"intervals","workout_format_id":31,"reps":0,"weight":6,"date":"03/06/26 Wednesday","exercise_time":"00:00","notes":null,"set_number":2,"class_Id":324}]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:01:20] local.INFO: Existing strength record: {"dailyStrength":{"id":100,"class_id":324,"round_number":null,"member_id":2,"strength_id":null,"workout_manager_id":176,"workout_format_type":"intervals","workout_format_id":28,"type":"Primary","reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T06:00:46.000000Z","updated_at":"2026-06-03T06:00:46.000000Z","set_number":1,"exercise_time":"00:45","notes":null}} 
[2026-06-03 06:01:20] local.INFO: Strength updated {"workout_manager_id":176,"set_number":1} 
[2026-06-03 06:01:20] local.INFO: Existing strength record: {"dailyStrength":{"id":99,"class_id":324,"round_number":null,"member_id":2,"strength_id":null,"workout_manager_id":176,"workout_format_type":"intervals","workout_format_id":29,"type":"Primary","reps":0,"weight":null,"date":"03/06/26 Wednesday","created_at":"2026-06-03T06:00:46.000000Z","updated_at":"2026-06-03T06:00:46.000000Z","set_number":1,"exercise_time":"00:45","notes":null}} 
[2026-06-03 06:01:20] local.INFO: Strength updated {"workout_manager_id":176,"set_number":1} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:01:20] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-03 06:01:20] local.INFO: New strength record created {"workout_manager_id":176,"set_number":2} 
[2026-06-03 06:01:20] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-03 06:01:20] local.INFO: New strength record created {"workout_manager_id":176,"set_number":2} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":28,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":29,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":30,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":31,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-03 06:01:20] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[17]} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":28,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":29,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":30,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":31,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:01:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-03 06:01:20] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:01:20] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[17]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[17]} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":28,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":29,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":30,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":31,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:01:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-03 06:01:25] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:01:25] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:01:25] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[17]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[17]} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":28,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":29,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":30,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":31,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:01:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-03 06:01:26] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:01:26] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:01:26] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 06:02:17] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:02:17] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:02:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:17] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 06:02:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 06:02:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[17]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[17]} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":28,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":29,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":30,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":31,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:02:18] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-03 06:02:18] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:02:18] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:02:18] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":28,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":29,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":30,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":31,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-03 06:02:20] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[17]} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":28,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":29,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":30,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":31,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:02:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-03 06:02:20] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:02:20] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[17]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[17]} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":28,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":29,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":30,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":31,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:02:31] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-03 06:02:31] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:02:31] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:02:31] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[17]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[17]} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":28,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":29,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":30,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":31,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:02:42] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-03 06:02:42] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:02:42] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:02:42] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"03/06/26 Wednesday","date_obj":"2026-06-03"} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday","patterns":["03/06/26 Wednesday","03/06/26","03/06/2026","03/06/26 Wednesday","03/06/2026 Wednesday","Wednesday 03/06/26","Wednesday 03/06/2026"]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[82]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":82,"weight":210.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:54:58"}}} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":324,"date_string":"03/06/26 Wednesday"} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[153,171,176],"types":["strength","accessory","conditioning"]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[153,171,176]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[153,171,176],"types":["Conditioning","Accessory","Strength"],"formats":["rounds","emom","intervals"]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":105,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":106,"workout_libraries_id":42,"available_test_library_ids":[17]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":107,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":108,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":153,"relation":"rounds","format_row_id":109,"workout_libraries_id":74,"available_test_library_ids":[17]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":171,"relation":"emoms","format_row_id":38,"workout_libraries_id":153,"available_test_library_ids":[17]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"available_test_library_ids":[17]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[17]} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":0,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":5,"matched":0,"not_matched":5,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":2},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":28,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":29,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":30,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":176,"workout_format_id":31,"exists":true,"isCompleted":true,"round_number":"","query_date":"03/06/26 Wednesday","db_date":"03/06/26 Wednesday"} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":5,"completed":0,"status":0} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":2,"completed":0,"status":0} 
[2026-06-03 06:02:43] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-03 06:02:43] local.INFO: Day received (raw): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:02:43] local.INFO: Day received (sanitized): {"day":"03/06/26 Wednesday"} 
[2026-06-03 06:02:43] local.INFO: Tests retrieved {"count":1,"tests":[{"id":82,"workout_manager_id":175,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"03/06/26 Wednesday","weight":210.0,"unit_type":"kg","created_at":"2026-06-03T03:54:58.000000Z","updated_at":"2026-06-03T03:54:58.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-07 08:04:41] local.INFO: Day received: {"day":"07/06/26 Sunday"} 
[2026-06-07 08:04:42] local.INFO: Tab value: all  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row accessory  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row accessory  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:42] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:42] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:42] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row accessory  
[2026-06-07 08:04:42] local.INFO: Saved type row accessory  
[2026-06-07 08:04:42] local.INFO: Saved type row accessory  
[2026-06-07 08:04:42] local.INFO: Saved type row accessory  
[2026-06-07 08:04:42] local.INFO: Saved type row accessory  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:42] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:42] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:42] local.INFO: Saved type row strength  
[2026-06-07 08:04:42] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row accessory  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row accessory  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:44] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:44] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:44] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row accessory  
[2026-06-07 08:04:44] local.INFO: Saved type row accessory  
[2026-06-07 08:04:44] local.INFO: Saved type row accessory  
[2026-06-07 08:04:44] local.INFO: Saved type row accessory  
[2026-06-07 08:04:44] local.INFO: Saved type row accessory  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:44] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:44] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:44] local.INFO: Saved type row strength  
[2026-06-07 08:04:44] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row accessory  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row accessory  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:46] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:46] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:46] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row accessory  
[2026-06-07 08:04:46] local.INFO: Saved type row accessory  
[2026-06-07 08:04:46] local.INFO: Saved type row accessory  
[2026-06-07 08:04:46] local.INFO: Saved type row accessory  
[2026-06-07 08:04:46] local.INFO: Saved type row accessory  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row conditioning  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-07 08:04:46] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:46] local.INFO: Saved type row weightlifting  
[2026-06-07 08:04:46] local.INFO: Saved type row strength  
[2026-06-07 08:04:46] local.INFO: Saved type row warmup  
[2026-06-08 11:28:59] local.INFO: mobile login pin : 9144  
[2026-06-08 11:29:13] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:29:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 11:29:14] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":148,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 11:29:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:29:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-08 11:29:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-08 11:29:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:29:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-08 11:29:14] local.WARNING: [getWorkouts] No workout assignments found {"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:29:34] local.INFO: Tab value: all  
[2026-06-08 11:29:34] local.INFO: Day received: {"day":"08/06/26 Monday"} 
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row accessory  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row accessory  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:34] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:34] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:34] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row accessory  
[2026-06-08 11:29:34] local.INFO: Saved type row accessory  
[2026-06-08 11:29:34] local.INFO: Saved type row accessory  
[2026-06-08 11:29:34] local.INFO: Saved type row accessory  
[2026-06-08 11:29:34] local.INFO: Saved type row accessory  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:34] local.INFO: Saved type row warmup  
[2026-06-08 11:29:34] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:34] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:34] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row accessory  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row accessory  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:35] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:35] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:35] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row accessory  
[2026-06-08 11:29:35] local.INFO: Saved type row accessory  
[2026-06-08 11:29:35] local.INFO: Saved type row accessory  
[2026-06-08 11:29:35] local.INFO: Saved type row accessory  
[2026-06-08 11:29:35] local.INFO: Saved type row accessory  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:35] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:35] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:35] local.INFO: Saved type row strength  
[2026-06-08 11:29:35] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row accessory  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row accessory  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:36] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:36] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:36] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row accessory  
[2026-06-08 11:29:36] local.INFO: Saved type row accessory  
[2026-06-08 11:29:36] local.INFO: Saved type row accessory  
[2026-06-08 11:29:36] local.INFO: Saved type row accessory  
[2026-06-08 11:29:36] local.INFO: Saved type row accessory  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row conditioning  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:29:36] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:36] local.INFO: Saved type row weightlifting  
[2026-06-08 11:29:36] local.INFO: Saved type row strength  
[2026-06-08 11:29:36] local.INFO: Saved type row warmup  
[2026-06-08 11:31:12] local.INFO: Day received: {"day":"08/06/26 Monday"} 
[2026-06-08 11:31:12] local.INFO: Tab value: all  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row accessory  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:13] local.INFO: Saved type row strength  
[2026-06-08 11:31:13] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row accessory  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row accessory  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:14] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:14] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:14] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row accessory  
[2026-06-08 11:31:14] local.INFO: Saved type row accessory  
[2026-06-08 11:31:14] local.INFO: Saved type row accessory  
[2026-06-08 11:31:14] local.INFO: Saved type row accessory  
[2026-06-08 11:31:14] local.INFO: Saved type row accessory  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:14] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:14] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:14] local.INFO: Saved type row strength  
[2026-06-08 11:31:14] local.INFO: Saved type row warmup  
[2026-06-08 11:31:16] local.INFO: assignWorkoutToClass:  {"workout_id":177,"class_id":327,"type":"workout_manager","action":"assign","date":"08/06/26 Monday"} 
[2026-06-08 11:31:16] local.INFO: Day received: {"day":"08/06/26 Monday"} 
[2026-06-08 11:31:16] local.INFO: Saved type row warmup  
[2026-06-08 11:31:16] local.INFO: Saved type row strength  
[2026-06-08 11:31:16] local.INFO: Saved type row accessory  
[2026-06-08 11:31:16] local.INFO: Saved type row warmup  
[2026-06-08 11:31:16] local.INFO: Saved type row warmup  
[2026-06-08 11:31:16] local.INFO: Saved type row warmup  
[2026-06-08 11:31:16] local.INFO: Saved type row warmup  
[2026-06-08 11:31:16] local.INFO: Saved type row warmup  
[2026-06-08 11:31:16] local.INFO: Saved type row warmup  
[2026-06-08 11:31:16] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:16] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:16] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:16] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:16] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:16] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:16] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:16] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:16] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:16] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:16] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row accessory  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row warmup  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row warmup  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row warmup  
[2026-06-08 11:31:17] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row warmup  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:17] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:17] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:17] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row accessory  
[2026-06-08 11:31:17] local.INFO: Saved type row accessory  
[2026-06-08 11:31:17] local.INFO: Saved type row accessory  
[2026-06-08 11:31:17] local.INFO: Saved type row accessory  
[2026-06-08 11:31:17] local.INFO: Saved type row accessory  
[2026-06-08 11:31:17] local.INFO: Saved type row warmup  
[2026-06-08 11:31:17] local.INFO: Saved type row warmup  
[2026-06-08 11:31:17] local.INFO: Saved type row warmup  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row warmup  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row warmup  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row conditioning  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row warmup  
[2026-06-08 11:31:17] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:17] local.INFO: Saved type row weightlifting  
[2026-06-08 11:31:17] local.INFO: Saved type row strength  
[2026-06-08 11:31:17] local.INFO: Saved type row warmup  
[2026-06-08 11:31:23] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:31:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 11:31:23] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":148,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 11:31:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:31:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-08 11:31:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-08 11:31:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:31:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-08 11:31:23] local.WARNING: [getWorkouts] No workout assignments found {"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[177],"types":["warmup"]} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177]} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[177],"types":["Warmup"],"formats":["intervals"]} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"available_test_library_ids":[]} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[]} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-08 11:31:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":0,"status":0} 
[2026-06-08 11:31:26] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 11:31:26] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 11:31:26] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[177],"types":["warmup"]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[177],"types":["Warmup"],"formats":["intervals"]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"available_test_library_ids":[]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[]} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-08 11:31:48] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":0,"status":0} 
[2026-06-08 11:31:48] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 11:31:48] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 11:31:48] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[83]} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":83,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:32:14"}}} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[177],"types":["warmup"]} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177]} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[177],"types":["Warmup"],"formats":["intervals"]} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"attached_test_id":83,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":32,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:00","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":83,"test_created_at":"2026-06-08 11:32:14","format_row_id":32,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"available_test_library_ids":[17]} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[17]} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-08 11:32:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":0,"status":0} 
[2026-06-08 11:32:15] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 11:32:15] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 11:32:15] local.INFO: Tests retrieved {"count":1,"tests":[{"id":83,"workout_manager_id":178,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":3,"date":"08/06/26 Monday","weight":120.0,"unit_type":"kg","created_at":"2026-06-08T11:32:14.000000Z","updated_at":"2026-06-08T11:32:14.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}}]} 
[2026-06-08 11:33:08] local.INFO: storewarmupdaily function called.  
[2026-06-08 11:33:08] local.INFO: Authenticated user ID: 7, Member ID: 3  
[2026-06-08 11:33:08] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":32,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 11:33:08] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-08 11:33:08] local.INFO: New warm-up created {"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":32,"round_number":null} 
[2026-06-08 11:33:29] local.INFO: storewarmupdaily function called.  
[2026-06-08 11:33:29] local.INFO: Authenticated user ID: 7, Member ID: 3  
[2026-06-08 11:33:29] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":33,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 11:33:29] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-08 11:33:29] local.INFO: New warm-up created {"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":33,"round_number":null} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[83,84]} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":83,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:32:14"},"32":{"test_id":84,"weight":100.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:33:43"}}} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[177],"types":["warmup"]} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177]} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[177],"types":["Warmup"],"formats":["intervals"]} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32]} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"attached_test_id":83,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":32,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:00","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":83,"test_created_at":"2026-06-08 11:32:14","format_row_id":32,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[17,32]} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"attached_test_id":84,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":35,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":84,"test_created_at":"2026-06-08 11:33:43","format_row_id":35,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[17,32]} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":2,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":32,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":33,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 11:33:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":2,"status":0} 
[2026-06-08 11:33:44] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 11:33:44] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 11:33:44] local.INFO: Tests retrieved {"count":2,"tests":[{"id":83,"workout_manager_id":178,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":3,"date":"08/06/26 Monday","weight":120.0,"unit_type":"kg","created_at":"2026-06-08T11:32:14.000000Z","updated_at":"2026-06-08T11:32:14.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}},{"id":84,"workout_manager_id":179,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":3,"date":"08/06/26 Monday","weight":100.0,"unit_type":"kg","created_at":"2026-06-08T11:33:43.000000Z","updated_at":"2026-06-08T11:33:43.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}}]} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[83,84]} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":83,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:32:14"},"32":{"test_id":84,"weight":100.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:33:43"}}} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[177],"types":["warmup"]} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177]} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[177],"types":["Warmup"],"formats":["intervals"]} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32]} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"attached_test_id":83,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":32,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:00","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":83,"test_created_at":"2026-06-08 11:32:14","format_row_id":32,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[17,32]} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"attached_test_id":84,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":35,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":84,"test_created_at":"2026-06-08 11:33:43","format_row_id":35,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[17,32]} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":2,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":32,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":33,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 11:34:03] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":2,"status":0} 
[2026-06-08 11:34:03] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 11:34:03] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 11:34:03] local.INFO: Tests retrieved {"count":2,"tests":[{"id":83,"workout_manager_id":178,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":3,"date":"08/06/26 Monday","weight":120.0,"unit_type":"kg","created_at":"2026-06-08T11:32:14.000000Z","updated_at":"2026-06-08T11:32:14.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}},{"id":84,"workout_manager_id":179,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":3,"date":"08/06/26 Monday","weight":100.0,"unit_type":"kg","created_at":"2026-06-08T11:33:43.000000Z","updated_at":"2026-06-08T11:33:43.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}}]} 
[2026-06-08 11:34:28] local.INFO: mobile login pin : 3333  
[2026-06-08 11:34:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[177],"types":["warmup"]} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177]} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[177],"types":["Warmup"],"formats":["intervals"]} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"available_test_library_ids":[]} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[]} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":0,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":0,"not_matched":5,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-08 11:34:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":0,"status":0} 
[2026-06-08 11:34:37] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 11:34:37] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 11:34:37] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[85]} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":85,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:15"}}} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[177],"types":["warmup"]} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177]} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[177],"types":["Warmup"],"formats":["intervals"]} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"attached_test_id":85,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":32,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:00","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":85,"test_created_at":"2026-06-08 11:35:15","format_row_id":32,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"available_test_library_ids":[17]} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[17]} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":1,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-08 11:35:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":0,"status":0} 
[2026-06-08 11:35:16] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 11:35:16] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 11:35:16] local.INFO: Tests retrieved {"count":1,"tests":[{"id":85,"workout_manager_id":180,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"08/06/26 Monday","weight":120.0,"unit_type":"kg","created_at":"2026-06-08T11:35:15.000000Z","updated_at":"2026-06-08T11:35:15.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[85,86]} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":85,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:15"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"}}} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[177],"types":["warmup"]} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177]} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[177],"types":["Warmup"],"formats":["intervals"]} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32]} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"attached_test_id":85,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":32,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:00","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":85,"test_created_at":"2026-06-08 11:35:15","format_row_id":32,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[17,32]} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"attached_test_id":86,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":35,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":86,"test_created_at":"2026-06-08 11:35:33","format_row_id":35,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[17,32]} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":2,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-08 11:35:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":0,"status":0} 
[2026-06-08 11:35:33] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 11:35:33] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 11:35:33] local.INFO: Tests retrieved {"count":2,"tests":[{"id":85,"workout_manager_id":180,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"08/06/26 Monday","weight":120.0,"unit_type":"kg","created_at":"2026-06-08T11:35:15.000000Z","updated_at":"2026-06-08T11:35:15.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-08 11:36:49] local.INFO: storewarmupdaily function called.  
[2026-06-08 11:36:49] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-08 11:36:49] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":32,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 11:36:49] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-08 11:36:49] local.INFO: New warm-up created {"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":32,"round_number":null} 
[2026-06-08 11:37:04] local.INFO: storewarmupdaily function called.  
[2026-06-08 11:37:04] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-08 11:37:04] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":33,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 11:37:04] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-08 11:37:04] local.INFO: New warm-up created {"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":33,"round_number":null} 
[2026-06-08 11:37:23] local.INFO: storewarmupdaily function called.  
[2026-06-08 11:37:23] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-08 11:37:23] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":34,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 11:37:23] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-08 11:37:23] local.INFO: New warm-up created {"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":34,"round_number":null} 
[2026-06-08 11:38:23] local.INFO: storewarmupdaily function called.  
[2026-06-08 11:38:23] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-08 11:38:23] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":35,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:45","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 11:38:23] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-08 11:38:23] local.INFO: New warm-up created {"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":35,"round_number":null} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[85,86]} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":85,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:15"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"}}} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 11:39:25] local.INFO: storewarmupdaily function called.  
[2026-06-08 11:39:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[177],"types":["warmup"]} 
[2026-06-08 11:39:25] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-08 11:39:25] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":36,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:45","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 11:39:25] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-08 11:39:25] local.INFO: New warm-up created {"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":36,"round_number":null} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177]} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[177],"types":["Warmup"],"formats":["intervals"]} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32]} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"attached_test_id":85,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":32,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:00","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":85,"test_created_at":"2026-06-08 11:35:15","format_row_id":32,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[17,32]} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"attached_test_id":86,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":35,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":86,"test_created_at":"2026-06-08 11:35:33","format_row_id":35,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[17,32]} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":2,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":32,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":33,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":34,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":35,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":36,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 11:39:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":5,"status":1} 
[2026-06-08 11:39:25] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 11:39:25] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 11:39:25] local.INFO: Tests retrieved {"count":2,"tests":[{"id":85,"workout_manager_id":180,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"08/06/26 Monday","weight":120.0,"unit_type":"kg","created_at":"2026-06-08T11:35:15.000000Z","updated_at":"2026-06-08T11:35:15.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-08 12:06:31] local.INFO: mobile login pin : 7825  
[2026-06-08 12:06:40] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:06:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 12:06:40] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":148,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 12:06:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:06:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-08 12:06:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-08 12:06:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:06:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-08 12:06:40] local.WARNING: [getWorkouts] No workout assignments found {"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:34:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:34:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 12:34:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":148,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 12:34:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:34:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[85,86]} 
[2026-06-08 12:34:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":85,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:15"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"}}} 
[2026-06-08 12:34:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:34:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-08 12:34:52] local.WARNING: [getWorkouts] No workout assignments found {"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:34:56] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:34:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 12:34:56] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":148,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 12:34:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:34:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[85,86]} 
[2026-06-08 12:34:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":85,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:15"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"}}} 
[2026-06-08 12:34:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:34:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-08 12:34:56] local.WARNING: [getWorkouts] No workout assignments found {"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:35:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:35:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 12:35:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":148,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 12:35:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:35:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[85,86]} 
[2026-06-08 12:35:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":85,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:15"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"}}} 
[2026-06-08 12:35:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:35:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-08 12:35:04] local.WARNING: [getWorkouts] No workout assignments found {"class_id":148,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:35:13] local.INFO: mobile login pin : 9144  
[2026-06-08 12:35:21] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[83,84]} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":83,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:32:14"},"32":{"test_id":84,"weight":100.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:33:43"}}} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[177],"types":["warmup"]} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177]} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[177],"types":["Warmup"],"formats":["intervals"]} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32]} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"attached_test_id":83,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":32,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:00","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":83,"test_created_at":"2026-06-08 11:32:14","format_row_id":32,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[17,32]} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"attached_test_id":84,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":35,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":84,"test_created_at":"2026-06-08 11:33:43","format_row_id":35,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[17,32]} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":2,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":5,"matched":2,"not_matched":3,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":32,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":33,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:35:21] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":2,"status":0} 
[2026-06-08 12:35:21] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 12:35:21] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 12:35:21] local.INFO: Tests retrieved {"count":2,"tests":[{"id":83,"workout_manager_id":178,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":3,"date":"08/06/26 Monday","weight":120.0,"unit_type":"kg","created_at":"2026-06-08T11:32:14.000000Z","updated_at":"2026-06-08T11:32:14.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}},{"id":84,"workout_manager_id":179,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":3,"date":"08/06/26 Monday","weight":100.0,"unit_type":"kg","created_at":"2026-06-08T11:33:43.000000Z","updated_at":"2026-06-08T11:33:43.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}}]} 
[2026-06-08 12:35:51] local.INFO: storewarmupdaily function called.  
[2026-06-08 12:35:51] local.INFO: Authenticated user ID: 7, Member ID: 3  
[2026-06-08 12:35:51] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":32,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 12:35:51] local.INFO: Existing warmup record: {"dailyWarmup":{"id":75,"class_id":327,"member_id":3,"warmup_id":null,"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":32,"reps":0,"date":"08/06/26 Monday","created_at":"2026-06-08T11:33:08.000000Z","updated_at":"2026-06-08T11:33:08.000000Z","exercise_time":"00:00","round_number":null,"notes":null}} 
[2026-06-08 12:35:51] local.INFO: Warm-up updated {"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":32,"round_number":null} 
[2026-06-08 12:36:06] local.INFO: storewarmupdaily function called.  
[2026-06-08 12:36:06] local.INFO: Authenticated user ID: 7, Member ID: 3  
[2026-06-08 12:36:06] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":33,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 12:36:06] local.INFO: Existing warmup record: {"dailyWarmup":{"id":76,"class_id":327,"member_id":3,"warmup_id":null,"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":33,"reps":0,"date":"08/06/26 Monday","created_at":"2026-06-08T11:33:29.000000Z","updated_at":"2026-06-08T11:33:29.000000Z","exercise_time":"00:00","round_number":null,"notes":null}} 
[2026-06-08 12:36:06] local.INFO: Warm-up updated {"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":33,"round_number":null} 
[2026-06-08 12:36:21] local.INFO: storewarmupdaily function called.  
[2026-06-08 12:36:21] local.INFO: Authenticated user ID: 7, Member ID: 3  
[2026-06-08 12:36:21] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":34,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 12:36:21] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-08 12:36:21] local.INFO: New warm-up created {"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":34,"round_number":null} 
[2026-06-08 12:40:45] local.INFO: Day received: {"day":"08/06/26 Monday"} 
[2026-06-08 12:40:45] local.INFO: Tab value: all  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row accessory  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row accessory  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:46] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:46] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:46] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row accessory  
[2026-06-08 12:40:46] local.INFO: Saved type row accessory  
[2026-06-08 12:40:46] local.INFO: Saved type row accessory  
[2026-06-08 12:40:46] local.INFO: Saved type row accessory  
[2026-06-08 12:40:46] local.INFO: Saved type row accessory  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:46] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:46] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:46] local.INFO: Saved type row strength  
[2026-06-08 12:40:46] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row accessory  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row accessory  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:47] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:47] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:47] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row accessory  
[2026-06-08 12:40:47] local.INFO: Saved type row accessory  
[2026-06-08 12:40:47] local.INFO: Saved type row accessory  
[2026-06-08 12:40:47] local.INFO: Saved type row accessory  
[2026-06-08 12:40:47] local.INFO: Saved type row accessory  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:47] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:47] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:47] local.INFO: Saved type row strength  
[2026-06-08 12:40:47] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row accessory  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row accessory  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:49] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:49] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:49] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row accessory  
[2026-06-08 12:40:49] local.INFO: Saved type row accessory  
[2026-06-08 12:40:49] local.INFO: Saved type row accessory  
[2026-06-08 12:40:49] local.INFO: Saved type row accessory  
[2026-06-08 12:40:49] local.INFO: Saved type row accessory  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row conditioning  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:40:49] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:49] local.INFO: Saved type row weightlifting  
[2026-06-08 12:40:49] local.INFO: Saved type row strength  
[2026-06-08 12:40:49] local.INFO: Saved type row warmup  
[2026-06-08 12:41:37] local.INFO: Day received: {"day":"08/06/26 Monday"} 
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row accessory  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row accessory  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:38] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:38] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:38] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row accessory  
[2026-06-08 12:41:38] local.INFO: Saved type row accessory  
[2026-06-08 12:41:38] local.INFO: Saved type row accessory  
[2026-06-08 12:41:38] local.INFO: Saved type row accessory  
[2026-06-08 12:41:38] local.INFO: Saved type row accessory  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:38] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:38] local.INFO: Saved type row strength  
[2026-06-08 12:41:38] local.INFO: Saved type row warmup  
[2026-06-08 12:41:38] local.INFO: Tab value: all  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row accessory  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row accessory  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:40] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:40] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:40] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row accessory  
[2026-06-08 12:41:40] local.INFO: Saved type row accessory  
[2026-06-08 12:41:40] local.INFO: Saved type row accessory  
[2026-06-08 12:41:40] local.INFO: Saved type row accessory  
[2026-06-08 12:41:40] local.INFO: Saved type row accessory  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:40] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:40] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:40] local.INFO: Saved type row strength  
[2026-06-08 12:41:40] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row accessory  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row accessory  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:42] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:42] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:42] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row accessory  
[2026-06-08 12:41:42] local.INFO: Saved type row accessory  
[2026-06-08 12:41:42] local.INFO: Saved type row accessory  
[2026-06-08 12:41:42] local.INFO: Saved type row accessory  
[2026-06-08 12:41:42] local.INFO: Saved type row accessory  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:42] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:42] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:42] local.INFO: Saved type row strength  
[2026-06-08 12:41:42] local.INFO: Saved type row warmup  
[2026-06-08 12:41:44] local.INFO: assignWorkoutToClass:  {"workout_id":182,"class_id":"all","type":"workout_manager","action":"assign_all","date":"08/06/26 Monday"} 
[2026-06-08 12:41:44] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-08 12:41:44] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-08 12:41:45] local.INFO: Day received: {"day":"08/06/26 Monday"} 
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row accessory  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row accessory  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:45] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:45] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:45] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row accessory  
[2026-06-08 12:41:45] local.INFO: Saved type row accessory  
[2026-06-08 12:41:45] local.INFO: Saved type row accessory  
[2026-06-08 12:41:45] local.INFO: Saved type row accessory  
[2026-06-08 12:41:45] local.INFO: Saved type row accessory  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row conditioning  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:45] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:45] local.INFO: Saved type row weightlifting  
[2026-06-08 12:41:45] local.INFO: Saved type row strength  
[2026-06-08 12:41:45] local.INFO: Saved type row warmup  
[2026-06-08 12:41:56] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[83,84]} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":83,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:32:14"},"32":{"test_id":84,"weight":100.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:33:43"}}} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[177,182],"types":["warmup","strength"]} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177,182]} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[177,182],"types":["Warmup","Strength"],"formats":["intervals"]} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32]} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"attached_test_id":83,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":32,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:00","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":83,"test_created_at":"2026-06-08 11:32:14","format_row_id":32,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[17,32]} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"attached_test_id":84,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":35,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":84,"test_created_at":"2026-06-08 11:33:43","format_row_id":35,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[17,32]} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":182,"relation":"intervals","format_row_id":37,"workout_libraries_id":16,"available_test_library_ids":[17,32]} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":182,"relation":"intervals","format_row_id":38,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":2,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":7,"matched":2,"not_matched":5,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":32,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":33,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":34,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":3,"status":0} 
[2026-06-08 12:41:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-08 12:41:56] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 12:41:56] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 12:41:56] local.INFO: Tests retrieved {"count":2,"tests":[{"id":83,"workout_manager_id":178,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":3,"date":"08/06/26 Monday","weight":120.0,"unit_type":"kg","created_at":"2026-06-08T11:32:14.000000Z","updated_at":"2026-06-08T11:32:14.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}},{"id":84,"workout_manager_id":179,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":3,"date":"08/06/26 Monday","weight":100.0,"unit_type":"kg","created_at":"2026-06-08T11:33:43.000000Z","updated_at":"2026-06-08T11:33:43.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}}]} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[17,32,16],"test_ids":[83,84,87]} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,16],"testMap_sample":{"17":{"test_id":83,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:32:14"},"32":{"test_id":84,"weight":100.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:33:43"},"16":{"test_id":87,"weight":258.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 12:42:12"}}} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[177,182],"types":["warmup","strength"]} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177,182]} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[177,182],"types":["Warmup","Strength"],"formats":["intervals"]} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,16]} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"attached_test_id":83,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":32,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:00","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":83,"test_created_at":"2026-06-08 11:32:14","format_row_id":32,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"attached_test_id":84,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":35,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":84,"test_created_at":"2026-06-08 11:33:43","format_row_id":35,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":182,"relation":"intervals","format_row_id":37,"workout_libraries_id":16,"attached_test_id":87,"attached_test_weight":258.0,"attached_unit_type":"kg","row_data":{"id":37,"stationumber":1,"workout_manager_id":182,"workout_libraries_id":16,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T12:41:32.000000Z","updated_at":"2026-06-08T12:41:32.000000Z","test_weight":258.0,"test_unit_type":"kg","test_id":87,"test_created_at":"2026-06-08 12:42:12","format_row_id":37,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":182,"relation":"intervals","format_row_id":38,"workout_libraries_id":21,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":3,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":7,"matched":3,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":32,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":33,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":34,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":3,"status":0} 
[2026-06-08 12:42:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-08 12:42:13] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 12:42:13] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 12:42:13] local.INFO: Tests retrieved {"count":3,"tests":[{"id":83,"workout_manager_id":178,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":3,"date":"08/06/26 Monday","weight":120.0,"unit_type":"kg","created_at":"2026-06-08T11:32:14.000000Z","updated_at":"2026-06-08T11:32:14.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}},{"id":84,"workout_manager_id":179,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":3,"date":"08/06/26 Monday","weight":100.0,"unit_type":"kg","created_at":"2026-06-08T11:33:43.000000Z","updated_at":"2026-06-08T11:33:43.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}},{"id":87,"workout_manager_id":183,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":3,"date":"08/06/26 Monday","weight":258.0,"unit_type":"kg","created_at":"2026-06-08T12:42:12.000000Z","updated_at":"2026-06-08T12:42:12.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}}]} 
[2026-06-08 12:43:44] local.INFO: storestrengthdaily function called.  
[2026-06-08 12:43:44] local.INFO: Authenticated user ID: 7, Member ID: 3  
[2026-06-08 12:43:44] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":182,"workout_format_type":"intervals","workout_format_id":37,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:45","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 12:43:44] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-08 12:43:44] local.INFO: New strength record created {"workout_manager_id":182,"set_number":1} 
[2026-06-08 12:44:11] local.INFO: Day received: {"day":"08/06/26 Monday"} 
[2026-06-08 12:44:11] local.INFO: Tab value: all  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row strength  
[2026-06-08 12:44:11] local.INFO: Saved type row warmup  
[2026-06-08 12:44:11] local.INFO: Saved type row strength  
[2026-06-08 12:44:11] local.INFO: Saved type row accessory  
[2026-06-08 12:44:11] local.INFO: Saved type row warmup  
[2026-06-08 12:44:11] local.INFO: Saved type row warmup  
[2026-06-08 12:44:11] local.INFO: Saved type row warmup  
[2026-06-08 12:44:11] local.INFO: Saved type row warmup  
[2026-06-08 12:44:11] local.INFO: Saved type row warmup  
[2026-06-08 12:44:11] local.INFO: Saved type row warmup  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row strength  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row strength  
[2026-06-08 12:44:11] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:11] local.INFO: Saved type row strength  
[2026-06-08 12:44:11] local.INFO: Saved type row accessory  
[2026-06-08 12:44:11] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row warmup  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row warmup  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row warmup  
[2026-06-08 12:44:12] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row warmup  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:12] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:12] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:12] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row accessory  
[2026-06-08 12:44:12] local.INFO: Saved type row accessory  
[2026-06-08 12:44:12] local.INFO: Saved type row accessory  
[2026-06-08 12:44:12] local.INFO: Saved type row accessory  
[2026-06-08 12:44:12] local.INFO: Saved type row accessory  
[2026-06-08 12:44:12] local.INFO: Saved type row warmup  
[2026-06-08 12:44:12] local.INFO: Saved type row warmup  
[2026-06-08 12:44:12] local.INFO: Saved type row warmup  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row warmup  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row warmup  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row warmup  
[2026-06-08 12:44:12] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:12] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:12] local.INFO: Saved type row strength  
[2026-06-08 12:44:12] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row accessory  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row accessory  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:13] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:13] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:13] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row accessory  
[2026-06-08 12:44:13] local.INFO: Saved type row accessory  
[2026-06-08 12:44:13] local.INFO: Saved type row accessory  
[2026-06-08 12:44:13] local.INFO: Saved type row accessory  
[2026-06-08 12:44:13] local.INFO: Saved type row accessory  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:13] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:13] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:13] local.INFO: Saved type row strength  
[2026-06-08 12:44:13] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row accessory  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row accessory  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:15] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:15] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:15] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row accessory  
[2026-06-08 12:44:15] local.INFO: Saved type row accessory  
[2026-06-08 12:44:15] local.INFO: Saved type row accessory  
[2026-06-08 12:44:15] local.INFO: Saved type row accessory  
[2026-06-08 12:44:15] local.INFO: Saved type row accessory  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:15] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:15] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:15] local.INFO: Saved type row strength  
[2026-06-08 12:44:15] local.INFO: Saved type row warmup  
[2026-06-08 12:44:16] local.INFO: assignWorkoutToClass:  {"workout_id":184,"class_id":"all","type":"workout_manager","action":"assign_all","date":"08/06/26 Monday"} 
[2026-06-08 12:44:16] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-08 12:44:16] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-08 12:44:17] local.INFO: Day received: {"day":"08/06/26 Monday"} 
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row accessory  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row accessory  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:17] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:17] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:17] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row accessory  
[2026-06-08 12:44:17] local.INFO: Saved type row accessory  
[2026-06-08 12:44:17] local.INFO: Saved type row accessory  
[2026-06-08 12:44:17] local.INFO: Saved type row accessory  
[2026-06-08 12:44:17] local.INFO: Saved type row accessory  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row conditioning  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:17] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:17] local.INFO: Saved type row weightlifting  
[2026-06-08 12:44:17] local.INFO: Saved type row strength  
[2026-06-08 12:44:17] local.INFO: Saved type row warmup  
[2026-06-08 12:44:45] local.INFO: storestrengthdaily function called.  
[2026-06-08 12:44:45] local.INFO: Authenticated user ID: 7, Member ID: 3  
[2026-06-08 12:44:45] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":182,"workout_format_type":"intervals","workout_format_id":38,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:45","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 12:44:45] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-08 12:44:45] local.INFO: New strength record created {"workout_manager_id":182,"set_number":1} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[17,32,16],"test_ids":[83,84,87]} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,16],"testMap_sample":{"17":{"test_id":83,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:32:14"},"32":{"test_id":84,"weight":100.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:33:43"},"16":{"test_id":87,"weight":258.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 12:42:12"}}} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[177,182,184],"types":["warmup","strength","conditioning"]} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177,182,184]} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[177,182,184],"types":["Warmup","Strength","Conditioning"],"formats":["intervals"]} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,16]} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"attached_test_id":83,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":32,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:00","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":83,"test_created_at":"2026-06-08 11:32:14","format_row_id":32,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"attached_test_id":84,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":35,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":84,"test_created_at":"2026-06-08 11:33:43","format_row_id":35,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":182,"relation":"intervals","format_row_id":37,"workout_libraries_id":16,"attached_test_id":87,"attached_test_weight":258.0,"attached_unit_type":"kg","row_data":{"id":37,"stationumber":1,"workout_manager_id":182,"workout_libraries_id":16,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T12:41:32.000000Z","updated_at":"2026-06-08T12:41:32.000000Z","test_weight":258.0,"test_unit_type":"kg","test_id":87,"test_created_at":"2026-06-08 12:42:12","format_row_id":37,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":182,"relation":"intervals","format_row_id":38,"workout_libraries_id":21,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":184,"relation":"intervals","format_row_id":39,"workout_libraries_id":16,"attached_test_id":87,"attached_test_weight":258.0,"attached_unit_type":"kg","row_data":{"id":39,"stationumber":1,"workout_manager_id":184,"workout_libraries_id":16,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-08T12:44:05.000000Z","updated_at":"2026-06-08T12:44:05.000000Z","test_weight":258.0,"test_unit_type":"kg","test_id":87,"test_created_at":"2026-06-08 12:42:12","format_row_id":39,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":184,"relation":"intervals","format_row_id":40,"workout_libraries_id":17,"attached_test_id":83,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":40,"stationumber":1,"workout_manager_id":184,"workout_libraries_id":17,"training_load":60,"unit_type":"Cal","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-08T12:44:05.000000Z","updated_at":"2026-06-08T12:44:05.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":83,"test_created_at":"2026-06-08 11:32:14","format_row_id":40,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":184,"relation":"intervals","format_row_id":41,"workout_libraries_id":16,"attached_test_id":87,"attached_test_weight":258.0,"attached_unit_type":"kg","row_data":{"id":41,"stationumber":2,"workout_manager_id":184,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-08T12:44:05.000000Z","updated_at":"2026-06-08T12:44:05.000000Z","test_weight":258.0,"test_unit_type":"kg","test_id":87,"test_created_at":"2026-06-08 12:42:12","format_row_id":41,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":184,"relation":"intervals","format_row_id":42,"workout_libraries_id":21,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":6,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":11,"matched":6,"not_matched":5,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":32,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":33,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":34,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":182,"workout_format_id":37,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":182,"workout_format_id":38,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":3,"status":0} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":2,"status":1} 
[2026-06-08 12:44:45] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-08 12:44:45] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 12:44:45] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 12:44:45] local.INFO: Tests retrieved {"count":3,"tests":[{"id":83,"workout_manager_id":178,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":3,"date":"08/06/26 Monday","weight":120.0,"unit_type":"kg","created_at":"2026-06-08T11:32:14.000000Z","updated_at":"2026-06-08T11:32:14.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}},{"id":84,"workout_manager_id":179,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":3,"date":"08/06/26 Monday","weight":100.0,"unit_type":"kg","created_at":"2026-06-08T11:33:43.000000Z","updated_at":"2026-06-08T11:33:43.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}},{"id":87,"workout_manager_id":183,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":3,"date":"08/06/26 Monday","weight":258.0,"unit_type":"kg","created_at":"2026-06-08T12:42:12.000000Z","updated_at":"2026-06-08T12:42:12.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}}]} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[17,32,16],"test_ids":[83,84,87]} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,16],"testMap_sample":{"17":{"test_id":83,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:32:14"},"32":{"test_id":84,"weight":100.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:33:43"},"16":{"test_id":87,"weight":258.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 12:42:12"}}} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[177,182,184],"types":["warmup","strength","conditioning"]} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177,182,184]} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[177,182,184],"types":["Warmup","Strength","Conditioning"],"formats":["intervals"]} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,16]} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"attached_test_id":83,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":32,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:00","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":83,"test_created_at":"2026-06-08 11:32:14","format_row_id":32,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"attached_test_id":84,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":35,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":84,"test_created_at":"2026-06-08 11:33:43","format_row_id":35,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":182,"relation":"intervals","format_row_id":37,"workout_libraries_id":16,"attached_test_id":87,"attached_test_weight":258.0,"attached_unit_type":"kg","row_data":{"id":37,"stationumber":1,"workout_manager_id":182,"workout_libraries_id":16,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T12:41:32.000000Z","updated_at":"2026-06-08T12:41:32.000000Z","test_weight":258.0,"test_unit_type":"kg","test_id":87,"test_created_at":"2026-06-08 12:42:12","format_row_id":37,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":182,"relation":"intervals","format_row_id":38,"workout_libraries_id":21,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":184,"relation":"intervals","format_row_id":39,"workout_libraries_id":16,"attached_test_id":87,"attached_test_weight":258.0,"attached_unit_type":"kg","row_data":{"id":39,"stationumber":1,"workout_manager_id":184,"workout_libraries_id":16,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-08T12:44:05.000000Z","updated_at":"2026-06-08T12:44:05.000000Z","test_weight":258.0,"test_unit_type":"kg","test_id":87,"test_created_at":"2026-06-08 12:42:12","format_row_id":39,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":184,"relation":"intervals","format_row_id":40,"workout_libraries_id":17,"attached_test_id":83,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":40,"stationumber":1,"workout_manager_id":184,"workout_libraries_id":17,"training_load":60,"unit_type":"Cal","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-08T12:44:05.000000Z","updated_at":"2026-06-08T12:44:05.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":83,"test_created_at":"2026-06-08 11:32:14","format_row_id":40,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":184,"relation":"intervals","format_row_id":41,"workout_libraries_id":16,"attached_test_id":87,"attached_test_weight":258.0,"attached_unit_type":"kg","row_data":{"id":41,"stationumber":2,"workout_manager_id":184,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-08T12:44:05.000000Z","updated_at":"2026-06-08T12:44:05.000000Z","test_weight":258.0,"test_unit_type":"kg","test_id":87,"test_created_at":"2026-06-08 12:42:12","format_row_id":41,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":184,"relation":"intervals","format_row_id":42,"workout_libraries_id":21,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":6,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":11,"matched":6,"not_matched":5,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":32,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":33,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":34,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":182,"workout_format_id":37,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":182,"workout_format_id":38,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":3,"status":0} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":2,"status":1} 
[2026-06-08 12:44:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-08 12:44:52] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 12:44:52] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 12:44:52] local.INFO: Tests retrieved {"count":3,"tests":[{"id":83,"workout_manager_id":178,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":3,"date":"08/06/26 Monday","weight":120.0,"unit_type":"kg","created_at":"2026-06-08T11:32:14.000000Z","updated_at":"2026-06-08T11:32:14.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}},{"id":84,"workout_manager_id":179,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":3,"date":"08/06/26 Monday","weight":100.0,"unit_type":"kg","created_at":"2026-06-08T11:33:43.000000Z","updated_at":"2026-06-08T11:33:43.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}},{"id":87,"workout_manager_id":183,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":3,"date":"08/06/26 Monday","weight":258.0,"unit_type":"kg","created_at":"2026-06-08T12:42:12.000000Z","updated_at":"2026-06-08T12:42:12.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}}]} 
[2026-06-08 12:45:53] local.INFO: storeconditioningdaily function called.  
[2026-06-08 12:45:53] local.INFO: Authenticated user ID: 7, Member ID: 3  
[2026-06-08 12:45:53] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":184,"workout_format_type":"intervals","workout_format_id":39,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:30","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 12:45:53] local.INFO: Conditioning saved successfully {"workout_manager_id":184} 
[2026-06-08 12:46:39] local.INFO: storeconditioningdaily function called.  
[2026-06-08 12:46:39] local.INFO: Authenticated user ID: 7, Member ID: 3  
[2026-06-08 12:46:39] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":184,"workout_format_type":"intervals","workout_format_id":40,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:30","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 12:46:39] local.INFO: Conditioning saved successfully {"workout_manager_id":184} 
[2026-06-08 12:47:25] local.INFO: storeconditioningdaily function called.  
[2026-06-08 12:47:25] local.INFO: Authenticated user ID: 7, Member ID: 3  
[2026-06-08 12:47:25] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":184,"workout_format_type":"intervals","workout_format_id":41,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:30","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 12:47:25] local.INFO: Conditioning saved successfully {"workout_manager_id":184} 
[2026-06-08 12:48:10] local.INFO: storeconditioningdaily function called.  
[2026-06-08 12:48:10] local.INFO: Authenticated user ID: 7, Member ID: 3  
[2026-06-08 12:48:10] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":184,"workout_format_type":"intervals","workout_format_id":42,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:30","notes":null,"status":null,"date":"08/06/26 Monday","class_Id":327}]} 
[2026-06-08 12:48:10] local.INFO: Conditioning saved successfully {"workout_manager_id":184} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts] Request received {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"08/06/26 Monday","date_obj":"2026-06-08"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts] START {"user_id":7,"member_id":3,"class_id":327,"date_string":"08/06/26 Monday","patterns":["08/06/26 Monday","08/06/26","08/06/2026","08/06/26 Monday","08/06/2026 Monday","Monday 08/06/26","Monday 08/06/2026"]} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":3,"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[17,32,16],"test_ids":[83,84,87]} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,16],"testMap_sample":{"17":{"test_id":83,"weight":120.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:32:14"},"32":{"test_id":84,"weight":100.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:33:43"},"16":{"test_id":87,"weight":258.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 12:42:12"}}} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":327,"date_string":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[177,182,184],"types":["warmup","strength","conditioning"]} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[177,182,184]} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[177,182,184],"types":["Warmup","Strength","Conditioning"],"formats":["intervals"]} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,16]} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":32,"workout_libraries_id":17,"attached_test_id":83,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":32,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:00","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":83,"test_created_at":"2026-06-08 11:32:14","format_row_id":32,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":33,"workout_libraries_id":21,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":34,"workout_libraries_id":23,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":35,"workout_libraries_id":32,"attached_test_id":84,"attached_test_weight":100.0,"attached_unit_type":"kg","row_data":{"id":35,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T11:31:10.000000Z","updated_at":"2026-06-08T11:31:10.000000Z","test_weight":100.0,"test_unit_type":"kg","test_id":84,"test_created_at":"2026-06-08 11:33:43","format_row_id":35,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":36,"workout_libraries_id":38,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":182,"relation":"intervals","format_row_id":37,"workout_libraries_id":16,"attached_test_id":87,"attached_test_weight":258.0,"attached_unit_type":"kg","row_data":{"id":37,"stationumber":1,"workout_manager_id":182,"workout_libraries_id":16,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-08T12:41:32.000000Z","updated_at":"2026-06-08T12:41:32.000000Z","test_weight":258.0,"test_unit_type":"kg","test_id":87,"test_created_at":"2026-06-08 12:42:12","format_row_id":37,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":182,"relation":"intervals","format_row_id":38,"workout_libraries_id":21,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":184,"relation":"intervals","format_row_id":39,"workout_libraries_id":16,"attached_test_id":87,"attached_test_weight":258.0,"attached_unit_type":"kg","row_data":{"id":39,"stationumber":1,"workout_manager_id":184,"workout_libraries_id":16,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-08T12:44:05.000000Z","updated_at":"2026-06-08T12:44:05.000000Z","test_weight":258.0,"test_unit_type":"kg","test_id":87,"test_created_at":"2026-06-08 12:42:12","format_row_id":39,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":184,"relation":"intervals","format_row_id":40,"workout_libraries_id":17,"attached_test_id":83,"attached_test_weight":120.0,"attached_unit_type":"kg","row_data":{"id":40,"stationumber":1,"workout_manager_id":184,"workout_libraries_id":17,"training_load":60,"unit_type":"Cal","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-08T12:44:05.000000Z","updated_at":"2026-06-08T12:44:05.000000Z","test_weight":120.0,"test_unit_type":"kg","test_id":83,"test_created_at":"2026-06-08 11:32:14","format_row_id":40,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":184,"relation":"intervals","format_row_id":41,"workout_libraries_id":16,"attached_test_id":87,"attached_test_weight":258.0,"attached_unit_type":"kg","row_data":{"id":41,"stationumber":2,"workout_manager_id":184,"workout_libraries_id":16,"training_load":80,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-08T12:44:05.000000Z","updated_at":"2026-06-08T12:44:05.000000Z","test_weight":258.0,"test_unit_type":"kg","test_id":87,"test_created_at":"2026-06-08 12:42:12","format_row_id":41,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":184,"relation":"intervals","format_row_id":42,"workout_libraries_id":21,"available_test_library_ids":[17,32,16]} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":6,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":11,"matched":6,"not_matched":5,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":32,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":33,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":177,"workout_format_id":34,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":182,"workout_format_id":37,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyStrength","workout_manager_id":182,"workout_format_id":38,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":184,"workout_format_id":39,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":184,"workout_format_id":40,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":184,"workout_format_id":41,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":184,"workout_format_id":42,"exists":true,"isCompleted":true,"round_number":"","query_date":"08/06/26 Monday","db_date":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":5,"completed":3,"status":0} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":2,"status":1} 
[2026-06-08 12:48:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-08 12:48:10] local.INFO: Day received (raw): {"day":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: Day received (sanitized): {"day":"08/06/26 Monday"} 
[2026-06-08 12:48:10] local.INFO: Tests retrieved {"count":3,"tests":[{"id":83,"workout_manager_id":178,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":3,"date":"08/06/26 Monday","weight":120.0,"unit_type":"kg","created_at":"2026-06-08T11:32:14.000000Z","updated_at":"2026-06-08T11:32:14.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}},{"id":84,"workout_manager_id":179,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":3,"date":"08/06/26 Monday","weight":100.0,"unit_type":"kg","created_at":"2026-06-08T11:33:43.000000Z","updated_at":"2026-06-08T11:33:43.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}},{"id":87,"workout_manager_id":183,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":3,"date":"08/06/26 Monday","weight":258.0,"unit_type":"kg","created_at":"2026-06-08T12:42:12.000000Z","updated_at":"2026-06-08T12:42:12.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":3,"user_id":7,"firstname":"Samantha","lastname":"Sample","dob":"2000-11-24","gender":"Female","age":23,"phone":"0405275033","email":"testemail@test.com","address":"123 Sample Street Sampletwon","height":150,"weight":55,"bmr":"36.67","primary_goal":"Build Muscle","subscription_level":"3","image_paths":"[]","created_at":"2024-10-25T05:29:53.000000Z","updated_at":"2024-10-25T05:29:53.000000Z","startdate":null,"is_subsactive":0}}]} 
[2026-06-10 02:49:17] local.INFO: mobile login pin : 7825  
[2026-06-11 01:37:15] local.INFO: Tab value: all  
[2026-06-11 01:37:15] local.INFO: Day received: {"day":"11/06/26 Thursday"} 
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row accessory  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row accessory  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:15] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:15] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:15] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row accessory  
[2026-06-11 01:37:15] local.INFO: Saved type row accessory  
[2026-06-11 01:37:15] local.INFO: Saved type row accessory  
[2026-06-11 01:37:15] local.INFO: Saved type row accessory  
[2026-06-11 01:37:15] local.INFO: Saved type row accessory  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:15] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:15] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:15] local.INFO: Saved type row strength  
[2026-06-11 01:37:15] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row accessory  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row conditioning  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row weightlifting  
[2026-06-11 01:37:16] local.INFO: Saved type row strength  
[2026-06-11 01:37:16] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Day received: {"day":"11/06/26 Thursday"} 
[2026-06-11 01:40:43] local.INFO: Tab value: all  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row accessory  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:43] local.INFO: Saved type row strength  
[2026-06-11 01:40:43] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row accessory  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row accessory  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:44] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:44] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:44] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row accessory  
[2026-06-11 01:40:44] local.INFO: Saved type row accessory  
[2026-06-11 01:40:44] local.INFO: Saved type row accessory  
[2026-06-11 01:40:44] local.INFO: Saved type row accessory  
[2026-06-11 01:40:44] local.INFO: Saved type row accessory  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:44] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:44] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:44] local.INFO: Saved type row strength  
[2026-06-11 01:40:44] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: assignWorkoutToClass:  {"workout_id":185,"class_id":330,"type":"workout_manager","action":"assign","date":"11/06/26 Thursday"} 
[2026-06-11 01:40:47] local.INFO: Day received: {"day":"11/06/26 Thursday"} 
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row accessory  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row accessory  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:47] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:47] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:47] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row accessory  
[2026-06-11 01:40:47] local.INFO: Saved type row accessory  
[2026-06-11 01:40:47] local.INFO: Saved type row accessory  
[2026-06-11 01:40:47] local.INFO: Saved type row accessory  
[2026-06-11 01:40:47] local.INFO: Saved type row accessory  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row conditioning  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:40:47] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:47] local.INFO: Saved type row weightlifting  
[2026-06-11 01:40:47] local.INFO: Saved type row strength  
[2026-06-11 01:40:47] local.INFO: Saved type row warmup  
[2026-06-11 01:41:01] local.INFO: mobile login pin : 7825  
[2026-06-11 01:41:18] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:41:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 01:41:18] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 01:41:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:41:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-11 01:41:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-11 01:41:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:41:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[185],"types":["conditioning"]} 
[2026-06-11 01:41:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[185]} 
[2026-06-11 01:41:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[185],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-11 01:41:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-11 01:41:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-11 01:41:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-11 01:41:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":2,"matched":0,"not_matched":2,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-11 01:41:19] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":0,"status":0} 
[2026-06-11 01:41:19] local.INFO: Day received (raw): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:41:19] local.INFO: Day received (sanitized): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:41:19] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-11 01:41:46] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:41:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 01:41:46] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 01:41:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:41:46] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[88]} 
[2026-06-11 01:41:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":88,"weight":165.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:41:46"}}} 
[2026-06-11 01:41:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:41:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[185],"types":["conditioning"]} 
[2026-06-11 01:41:46] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[185]} 
[2026-06-11 01:41:46] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[185],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-11 01:41:46] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-11 01:41:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-11 01:41:47] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-11 01:41:47] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-11 01:41:47] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":0,"status":0} 
[2026-06-11 01:41:47] local.INFO: Day received (raw): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:41:47] local.INFO: Day received (sanitized): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:41:47] local.INFO: Tests retrieved {"count":1,"tests":[{"id":88,"workout_manager_id":186,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"11/06/26 Thursday","weight":165.0,"unit_type":"kg","created_at":"2026-06-11T01:41:46.000000Z","updated_at":"2026-06-11T01:41:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[88]} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":88,"weight":165.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:41:46"}}} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[185],"types":["conditioning"]} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[185]} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[185],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-11 01:41:50] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":0,"status":0} 
[2026-06-11 01:41:50] local.INFO: Day received (raw): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:41:50] local.INFO: Day received (sanitized): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:41:50] local.INFO: Tests retrieved {"count":1,"tests":[{"id":88,"workout_manager_id":186,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"11/06/26 Thursday","weight":165.0,"unit_type":"kg","created_at":"2026-06-11T01:41:46.000000Z","updated_at":"2026-06-11T01:41:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-11 01:42:57] local.INFO: storeconditioningdaily function called.  
[2026-06-11 01:42:57] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-11 01:42:57] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":185,"workout_format_type":"intervals","workout_format_id":43,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:30","notes":null,"status":null,"date":"11/06/26 Thursday","class_Id":330}]} 
[2026-06-11 01:42:57] local.INFO: Conditioning saved successfully {"workout_manager_id":185} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[88]} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":88,"weight":165.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:41:46"}}} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[185],"types":["conditioning"]} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[185]} 
[2026-06-11 01:43:10] local.INFO: storeconditioningdaily function called.  
[2026-06-11 01:43:10] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-11 01:43:10] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":185,"workout_format_type":"intervals","workout_format_id":43,"reps":0,"exercise_time":"00:00","date":"11/06/26 Thursday","is_completed":1,"status":"completed","notes":"Test","weight":50,"set_number":1,"round_number":"2/2","class_Id":330},{"workout_manager_id":185,"workout_format_type":"intervals","workout_format_id":44,"reps":0,"exercise_time":"00:00","date":"11/06/26 Thursday","is_completed":1,"status":"completed","notes":"Test","weight":50,"set_number":2,"round_number":"2/2","class_Id":330}]} 
[2026-06-11 01:43:10] local.INFO: Conditioning updated successfully {"workout_manager_id":185} 
[2026-06-11 01:43:10] local.INFO: Conditioning saved successfully {"workout_manager_id":185} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[185],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":43,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":44,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":2,"status":1} 
[2026-06-11 01:43:10] local.INFO: Day received (raw): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:43:10] local.INFO: Day received (sanitized): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:43:10] local.INFO: Tests retrieved {"count":1,"tests":[{"id":88,"workout_manager_id":186,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"11/06/26 Thursday","weight":165.0,"unit_type":"kg","created_at":"2026-06-11T01:41:46.000000Z","updated_at":"2026-06-11T01:41:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[88]} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":88,"weight":165.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:41:46"}}} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:43:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[185],"types":["conditioning"]} 
[2026-06-11 01:43:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[185]} 
[2026-06-11 01:43:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[185],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-11 01:43:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-11 01:43:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-11 01:43:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-11 01:43:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-11 01:43:11] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":43,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 01:43:11] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":44,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 01:43:11] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":2,"status":1} 
[2026-06-11 01:43:11] local.INFO: Day received (raw): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:43:11] local.INFO: Day received (sanitized): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:43:11] local.INFO: Tests retrieved {"count":1,"tests":[{"id":88,"workout_manager_id":186,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"11/06/26 Thursday","weight":165.0,"unit_type":"kg","created_at":"2026-06-11T01:41:46.000000Z","updated_at":"2026-06-11T01:41:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-11 01:44:12] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":153,"category_options_id":6,"type":null,"workout":"Snatch","link":null,"created_at":"2026-04-15T03:50:34.000000Z","updated_at":"2026-04-15T03:50:34.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","58":"Warmup","60":"Select","81":"Weightlifting"}}} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":98,"model":"App\\Models\\DailyStrength","workout_format_id":35,"workout_format_type":"emom"} 
[2026-06-11 01:44:13] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-11 01:44:13] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-11 01:44:13] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-11 01:44:13] local.INFO: Debug record {"daily_id":110,"format_type":"straight-sets","format_id":242,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-11 01:44:13] local.INFO: Debug record {"daily_id":115,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-11 01:44:13] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-11 01:51:16] local.INFO: mobile login pin : 7825  
[2026-06-11 01:51:25] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[88]} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":88,"weight":165.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:41:46"}}} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[185],"types":["conditioning"]} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[185]} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[185],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":43,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":44,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 01:51:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":2,"status":1} 
[2026-06-11 01:51:25] local.INFO: Day received (raw): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:51:25] local.INFO: Day received (sanitized): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:51:25] local.INFO: Tests retrieved {"count":1,"tests":[{"id":88,"workout_manager_id":186,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"11/06/26 Thursday","weight":165.0,"unit_type":"kg","created_at":"2026-06-11T01:41:46.000000Z","updated_at":"2026-06-11T01:41:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,27],"test_ids":[88,89]} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,27],"testMap_sample":{"17":{"test_id":88,"weight":165.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:41:46"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[185],"types":["conditioning"]} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[185]} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[185],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,27]} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17,27]} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":43,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":44,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 01:52:11] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":2,"status":1} 
[2026-06-11 01:52:11] local.INFO: Day received (raw): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:52:11] local.INFO: Day received (sanitized): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:52:11] local.INFO: Tests retrieved {"count":2,"tests":[{"id":88,"workout_manager_id":186,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"11/06/26 Thursday","weight":165.0,"unit_type":"kg","created_at":"2026-06-11T01:41:46.000000Z","updated_at":"2026-06-11T01:41:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-11 01:52:22] local.INFO: Day received: {"day":"11/06/26 Thursday"} 
[2026-06-11 01:52:22] local.INFO: Tab value: all  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row accessory  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:23] local.INFO: Saved type row strength  
[2026-06-11 01:52:23] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row accessory  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row accessory  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:24] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:24] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:24] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row accessory  
[2026-06-11 01:52:24] local.INFO: Saved type row accessory  
[2026-06-11 01:52:24] local.INFO: Saved type row accessory  
[2026-06-11 01:52:24] local.INFO: Saved type row accessory  
[2026-06-11 01:52:24] local.INFO: Saved type row accessory  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:24] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:24] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:24] local.INFO: Saved type row strength  
[2026-06-11 01:52:24] local.INFO: Saved type row warmup  
[2026-06-11 01:52:27] local.INFO: assignWorkoutToClass:  {"workout_id":188,"class_id":330,"type":"workout_manager","action":"assign","date":"11/06/26 Thursday"} 
[2026-06-11 01:52:27] local.INFO: Day received: {"day":"11/06/26 Thursday"} 
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row warmup  
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row accessory  
[2026-06-11 01:52:27] local.INFO: Saved type row warmup  
[2026-06-11 01:52:27] local.INFO: Saved type row warmup  
[2026-06-11 01:52:27] local.INFO: Saved type row warmup  
[2026-06-11 01:52:27] local.INFO: Saved type row warmup  
[2026-06-11 01:52:27] local.INFO: Saved type row warmup  
[2026-06-11 01:52:27] local.INFO: Saved type row warmup  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row accessory  
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row warmup  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row warmup  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row strength  
[2026-06-11 01:52:27] local.INFO: Saved type row warmup  
[2026-06-11 01:52:27] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:27] local.INFO: Saved type row warmup  
[2026-06-11 01:52:27] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:28] local.INFO: Saved type row strength  
[2026-06-11 01:52:28] local.INFO: Saved type row strength  
[2026-06-11 01:52:28] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:28] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:28] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:28] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:28] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:28] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:28] local.INFO: Saved type row accessory  
[2026-06-11 01:52:28] local.INFO: Saved type row accessory  
[2026-06-11 01:52:28] local.INFO: Saved type row accessory  
[2026-06-11 01:52:28] local.INFO: Saved type row accessory  
[2026-06-11 01:52:28] local.INFO: Saved type row accessory  
[2026-06-11 01:52:28] local.INFO: Saved type row warmup  
[2026-06-11 01:52:28] local.INFO: Saved type row warmup  
[2026-06-11 01:52:28] local.INFO: Saved type row warmup  
[2026-06-11 01:52:28] local.INFO: Saved type row strength  
[2026-06-11 01:52:28] local.INFO: Saved type row warmup  
[2026-06-11 01:52:28] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:28] local.INFO: Saved type row strength  
[2026-06-11 01:52:28] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:28] local.INFO: Saved type row strength  
[2026-06-11 01:52:28] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:28] local.INFO: Saved type row strength  
[2026-06-11 01:52:28] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:28] local.INFO: Saved type row strength  
[2026-06-11 01:52:28] local.INFO: Saved type row warmup  
[2026-06-11 01:52:28] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:28] local.INFO: Saved type row conditioning  
[2026-06-11 01:52:28] local.INFO: Saved type row strength  
[2026-06-11 01:52:28] local.INFO: Saved type row warmup  
[2026-06-11 01:52:28] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:28] local.INFO: Saved type row weightlifting  
[2026-06-11 01:52:28] local.INFO: Saved type row strength  
[2026-06-11 01:52:28] local.INFO: Saved type row warmup  
[2026-06-11 01:52:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,27],"test_ids":[88,89]} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,27],"testMap_sample":{"17":{"test_id":88,"weight":165.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:41:46"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[185,188],"types":["conditioning","strength"]} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[185,188]} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[185,188],"types":["Conditioning","Strength"],"formats":["intervals","straight-sets"]} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,27]} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17,27]} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":188,"relation":"straights","format_row_id":68,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":68,"workout_manager_id":188,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":68,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":246,"workout_libraries_id":17,"straight_id":68,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":247,"workout_libraries_id":17,"straight_id":68,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":188,"relation":"straights","format_row_id":69,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":69,"workout_manager_id":188,"workout_libraries_id":27,"training_load":null,"unit_type":"%","reps":2,"created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":69,"format_relation":"straights","format_table":"straights","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":248,"workout_libraries_id":27,"straight_id":69,"res":2,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":249,"workout_libraries_id":27,"straight_id":69,"res":2,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":3,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":43,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":44,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":2,"status":1} 
[2026-06-11 01:52:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-11 01:52:36] local.INFO: Day received (raw): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:52:36] local.INFO: Day received (sanitized): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:52:36] local.INFO: Tests retrieved {"count":2,"tests":[{"id":88,"workout_manager_id":186,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"11/06/26 Thursday","weight":165.0,"unit_type":"kg","created_at":"2026-06-11T01:41:46.000000Z","updated_at":"2026-06-11T01:41:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,27],"test_ids":[88,89]} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,27],"testMap_sample":{"17":{"test_id":88,"weight":165.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:41:46"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[185,188],"types":["conditioning","strength"]} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[185,188]} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[185,188],"types":["Conditioning","Strength"],"formats":["intervals","straight-sets"]} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,27]} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17,27]} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":188,"relation":"straights","format_row_id":68,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":68,"workout_manager_id":188,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":68,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":246,"workout_libraries_id":17,"straight_id":68,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":247,"workout_libraries_id":17,"straight_id":68,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":188,"relation":"straights","format_row_id":69,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":69,"workout_manager_id":188,"workout_libraries_id":27,"training_load":null,"unit_type":"%","reps":2,"created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":69,"format_relation":"straights","format_table":"straights","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":248,"workout_libraries_id":27,"straight_id":69,"res":2,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":249,"workout_libraries_id":27,"straight_id":69,"res":2,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":3,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":43,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":44,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":2,"status":1} 
[2026-06-11 01:55:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-11 01:55:16] local.INFO: Day received (raw): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:55:16] local.INFO: Day received (sanitized): {"day":"11/06/26 Thursday"} 
[2026-06-11 01:55:16] local.INFO: Tests retrieved {"count":2,"tests":[{"id":88,"workout_manager_id":186,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"11/06/26 Thursday","weight":165.0,"unit_type":"kg","created_at":"2026-06-11T01:41:46.000000Z","updated_at":"2026-06-11T01:41:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-11 01:56:56] local.INFO: storestrengthdaily function called.  
[2026-06-11 01:56:56] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-11 01:56:56] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":188,"workout_format_type":"straight-sets","workout_format_id":246,"reps":4,"weight":132,"date":"11/06/26 Thursday","set_number":1,"class_Id":330}]} 
[2026-06-11 01:56:56] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-11 01:56:56] local.INFO: New strength record created {"workout_manager_id":188,"set_number":1} 
[2026-06-11 02:01:05] local.INFO: Tab value: all  
[2026-06-11 02:01:05] local.INFO: Day received: {"day":"11/06/26 Thursday"} 
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row accessory  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row accessory  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:05] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:05] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:05] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row accessory  
[2026-06-11 02:01:05] local.INFO: Saved type row accessory  
[2026-06-11 02:01:05] local.INFO: Saved type row accessory  
[2026-06-11 02:01:05] local.INFO: Saved type row accessory  
[2026-06-11 02:01:05] local.INFO: Saved type row accessory  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:05] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:05] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:05] local.INFO: Saved type row strength  
[2026-06-11 02:01:05] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row accessory  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:06] local.INFO: Saved type row strength  
[2026-06-11 02:01:06] local.INFO: Saved type row warmup  
[2026-06-11 02:01:08] local.INFO: assignWorkoutToClass:  {"workout_id":189,"class_id":330,"type":"workout_manager","action":"assign","date":"11/06/26 Thursday"} 
[2026-06-11 02:01:09] local.INFO: Day received: {"day":"11/06/26 Thursday"} 
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row accessory  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row accessory  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:09] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:09] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:09] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row accessory  
[2026-06-11 02:01:09] local.INFO: Saved type row accessory  
[2026-06-11 02:01:09] local.INFO: Saved type row accessory  
[2026-06-11 02:01:09] local.INFO: Saved type row accessory  
[2026-06-11 02:01:09] local.INFO: Saved type row accessory  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row conditioning  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:01:09] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:09] local.INFO: Saved type row weightlifting  
[2026-06-11 02:01:09] local.INFO: Saved type row strength  
[2026-06-11 02:01:09] local.INFO: Saved type row warmup  
[2026-06-11 02:02:13] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,27],"test_ids":[88,89]} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,27],"testMap_sample":{"17":{"test_id":88,"weight":165.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:41:46"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[185,188,189],"types":["conditioning","strength","warmup"]} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[185,188,189]} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[185,188,189],"types":["Conditioning","Strength","Warmup"],"formats":["intervals","straight-sets","emom"]} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,27]} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17,27]} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":188,"relation":"straights","format_row_id":68,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":68,"workout_manager_id":188,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":68,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":246,"workout_libraries_id":17,"straight_id":68,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":247,"workout_libraries_id":17,"straight_id":68,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":188,"relation":"straights","format_row_id":69,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":69,"workout_manager_id":188,"workout_libraries_id":27,"training_load":null,"unit_type":"%","reps":2,"created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":69,"format_relation":"straights","format_table":"straights","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":248,"workout_libraries_id":27,"straight_id":69,"res":2,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":249,"workout_libraries_id":27,"straight_id":69,"res":2,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,27]} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":43,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":44,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":2,"status":1} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":1,"status":0} 
[2026-06-11 02:02:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-11 02:02:13] local.INFO: Day received (raw): {"day":"11/06/26 Thursday"} 
[2026-06-11 02:02:13] local.INFO: Day received (sanitized): {"day":"11/06/26 Thursday"} 
[2026-06-11 02:02:13] local.INFO: Tests retrieved {"count":2,"tests":[{"id":88,"workout_manager_id":186,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"11/06/26 Thursday","weight":165.0,"unit_type":"kg","created_at":"2026-06-11T01:41:46.000000Z","updated_at":"2026-06-11T01:41:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-11 02:04:32] local.INFO: storewarmupdaily function called.  
[2026-06-11 02:04:32] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-11 02:04:32] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":189,"workout_format_type":"emom","workout_format_id":39,"reps":0,"exercise_time":"00:00","date":"11/06/26 Thursday","is_completed":1,"status":"completed","weight":100,"set_number":1,"round_number":"3/3","class_Id":330}]} 
[2026-06-11 02:04:32] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-11 02:04:32] local.INFO: New warm-up created {"workout_manager_id":189,"workout_format_type":"emom","workout_format_id":39,"round_number":"3/3"} 
[2026-06-11 02:04:32] local.INFO: storewarmupdaily function called.  
[2026-06-11 02:04:32] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-11 02:04:32] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":189,"workout_format_type":"emom","workout_format_id":39,"reps":0,"set_number":1,"round_number":"1/1","weight":100,"exercise_time":"02:00","notes":null,"status":"incompleted","date":"11/06/26 Thursday","class_Id":330}]} 
[2026-06-11 02:04:32] local.INFO: Existing warmup record: {"dailyWarmup":{"id":83,"class_id":330,"member_id":9,"warmup_id":null,"workout_manager_id":189,"workout_format_type":"emom","workout_format_id":39,"reps":0,"date":"11/06/26 Thursday","created_at":"2026-06-11T02:04:32.000000Z","updated_at":"2026-06-11T02:04:32.000000Z","exercise_time":"00:00","round_number":"3/3","notes":null}} 
[2026-06-11 02:04:32] local.INFO: Warm-up updated {"workout_manager_id":189,"workout_format_type":"emom","workout_format_id":39,"round_number":"1/1"} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,27],"test_ids":[88,89]} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,27],"testMap_sample":{"17":{"test_id":88,"weight":165.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:41:46"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":330,"date_string":"11/06/26 Thursday"} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[185,188,189],"types":["conditioning","strength","warmup"]} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[185,188,189]} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[185,188,189],"types":["Conditioning","Strength","Warmup"],"formats":["intervals","straight-sets","emom"]} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,27]} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17,27]} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":188,"relation":"straights","format_row_id":68,"workout_libraries_id":17,"attached_test_id":88,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":68,"workout_manager_id":188,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":88,"test_created_at":"2026-06-11 01:41:46","format_row_id":68,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":246,"workout_libraries_id":17,"straight_id":68,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":247,"workout_libraries_id":17,"straight_id":68,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":188,"relation":"straights","format_row_id":69,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":69,"workout_manager_id":188,"workout_libraries_id":27,"training_load":null,"unit_type":"%","reps":2,"created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":69,"format_relation":"straights","format_table":"straights","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"sets":[{"id":248,"workout_libraries_id":27,"straight_id":69,"res":2,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":249,"workout_libraries_id":27,"straight_id":69,"res":2,"training_load":80,"unittype":"%","created_at":"2026-06-11T01:52:20.000000Z","updated_at":"2026-06-11T01:52:20.000000Z","restred":"00:00:30","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,27]} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":3,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":2,"matched":1,"not_matched":1,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":2},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":43,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":44,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"11/06/26 Thursday","db_date":"11/06/26 Thursday"} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":2,"status":1} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":1,"status":0} 
[2026-06-11 02:04:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":1,"status":1} 
[2026-06-11 02:04:33] local.INFO: Day received (raw): {"day":"11/06/26 Thursday"} 
[2026-06-11 02:04:33] local.INFO: Day received (sanitized): {"day":"11/06/26 Thursday"} 
[2026-06-11 02:04:33] local.INFO: Tests retrieved {"count":2,"tests":[{"id":88,"workout_manager_id":186,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"11/06/26 Thursday","weight":165.0,"unit_type":"kg","created_at":"2026-06-11T01:41:46.000000Z","updated_at":"2026-06-11T01:41:46.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-11 06:14:12] local.INFO: mobile login pin : 3333  
[2026-06-11 09:30:42] local.INFO: mobile login pin : 3333  
[2026-06-11 09:31:14] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":149,"date_string":"11/06/26 Thursday"} 
[2026-06-11 09:31:14] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 09:31:14] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":149,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 09:31:14] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":149,"date_string":"11/06/26 Thursday"} 
[2026-06-11 09:31:14] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-11 09:31:14] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-11 09:31:14] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":149,"date_string":"11/06/26 Thursday"} 
[2026-06-11 09:31:14] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-11 09:31:14] local.WARNING: [getWorkouts] No workout assignments found {"class_id":149,"date_string":"11/06/26 Thursday"} 
[2026-06-11 09:31:21] local.INFO: Day received: {"day":"11/06/26 Thursday"} 
[2026-06-11 09:31:21] local.INFO: Tab value: all  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row accessory  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row accessory  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:23] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:23] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:23] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row accessory  
[2026-06-11 09:31:23] local.INFO: Saved type row accessory  
[2026-06-11 09:31:23] local.INFO: Saved type row accessory  
[2026-06-11 09:31:23] local.INFO: Saved type row accessory  
[2026-06-11 09:31:23] local.INFO: Saved type row accessory  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:23] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:23] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:23] local.INFO: Saved type row strength  
[2026-06-11 09:31:23] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row accessory  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row accessory  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:25] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:25] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:25] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row accessory  
[2026-06-11 09:31:25] local.INFO: Saved type row accessory  
[2026-06-11 09:31:25] local.INFO: Saved type row accessory  
[2026-06-11 09:31:25] local.INFO: Saved type row accessory  
[2026-06-11 09:31:25] local.INFO: Saved type row accessory  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:25] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:25] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:25] local.INFO: Saved type row strength  
[2026-06-11 09:31:25] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row accessory  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row accessory  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:27] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:27] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:27] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row accessory  
[2026-06-11 09:31:27] local.INFO: Saved type row accessory  
[2026-06-11 09:31:27] local.INFO: Saved type row accessory  
[2026-06-11 09:31:27] local.INFO: Saved type row accessory  
[2026-06-11 09:31:27] local.INFO: Saved type row accessory  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:27] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:27] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:27] local.INFO: Saved type row strength  
[2026-06-11 09:31:27] local.INFO: Saved type row warmup  
[2026-06-11 09:31:44] local.INFO: Day received: {"day":"11/06/26 Thursday"} 
[2026-06-11 09:31:44] local.INFO: Tab value: all  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row accessory  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row accessory  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:45] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:45] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:45] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row accessory  
[2026-06-11 09:31:45] local.INFO: Saved type row accessory  
[2026-06-11 09:31:45] local.INFO: Saved type row accessory  
[2026-06-11 09:31:45] local.INFO: Saved type row accessory  
[2026-06-11 09:31:45] local.INFO: Saved type row accessory  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:45] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:45] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:45] local.INFO: Saved type row strength  
[2026-06-11 09:31:45] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row accessory  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row accessory  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:46] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:46] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:46] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row accessory  
[2026-06-11 09:31:46] local.INFO: Saved type row accessory  
[2026-06-11 09:31:46] local.INFO: Saved type row accessory  
[2026-06-11 09:31:46] local.INFO: Saved type row accessory  
[2026-06-11 09:31:46] local.INFO: Saved type row accessory  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:46] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:46] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:46] local.INFO: Saved type row strength  
[2026-06-11 09:31:46] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row accessory  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row accessory  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:48] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:48] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:48] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row accessory  
[2026-06-11 09:31:48] local.INFO: Saved type row accessory  
[2026-06-11 09:31:48] local.INFO: Saved type row accessory  
[2026-06-11 09:31:48] local.INFO: Saved type row accessory  
[2026-06-11 09:31:48] local.INFO: Saved type row accessory  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row conditioning  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:48] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:48] local.INFO: Saved type row weightlifting  
[2026-06-11 09:31:48] local.INFO: Saved type row strength  
[2026-06-11 09:31:48] local.INFO: Saved type row warmup  
[2026-06-11 09:31:59] local.INFO: Day received: {"day":"11/06/26 Thursday"} 
[2026-06-11 09:31:59] local.INFO: Tab value: all  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row accessory  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row accessory  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:00] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:00] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:00] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row accessory  
[2026-06-11 09:32:00] local.INFO: Saved type row accessory  
[2026-06-11 09:32:00] local.INFO: Saved type row accessory  
[2026-06-11 09:32:00] local.INFO: Saved type row accessory  
[2026-06-11 09:32:00] local.INFO: Saved type row accessory  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:00] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:00] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:00] local.INFO: Saved type row strength  
[2026-06-11 09:32:00] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row accessory  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row accessory  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:01] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:01] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:01] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row accessory  
[2026-06-11 09:32:01] local.INFO: Saved type row accessory  
[2026-06-11 09:32:01] local.INFO: Saved type row accessory  
[2026-06-11 09:32:01] local.INFO: Saved type row accessory  
[2026-06-11 09:32:01] local.INFO: Saved type row accessory  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:01] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:01] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:01] local.INFO: Saved type row strength  
[2026-06-11 09:32:01] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row accessory  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row accessory  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:03] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:03] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:03] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row accessory  
[2026-06-11 09:32:03] local.INFO: Saved type row accessory  
[2026-06-11 09:32:03] local.INFO: Saved type row accessory  
[2026-06-11 09:32:03] local.INFO: Saved type row accessory  
[2026-06-11 09:32:03] local.INFO: Saved type row accessory  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:03] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:03] local.INFO: Saved type row strength  
[2026-06-11 09:32:03] local.INFO: Saved type row warmup  
[2026-06-11 09:32:03] local.INFO: assignWorkoutToClass:  {"workout_id":190,"class_id":"all","type":"workout_manager","action":"assign_all","date":"11/06/26 Thursday"} 
[2026-06-11 09:32:04] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-11 09:32:04] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-11 09:32:04] local.INFO: Day received: {"day":"11/06/26 Thursday"} 
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row accessory  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row accessory  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:05] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:05] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:05] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row accessory  
[2026-06-11 09:32:05] local.INFO: Saved type row accessory  
[2026-06-11 09:32:05] local.INFO: Saved type row accessory  
[2026-06-11 09:32:05] local.INFO: Saved type row accessory  
[2026-06-11 09:32:05] local.INFO: Saved type row accessory  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row conditioning  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:05] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:05] local.INFO: Saved type row weightlifting  
[2026-06-11 09:32:05] local.INFO: Saved type row strength  
[2026-06-11 09:32:05] local.INFO: Saved type row warmup  
[2026-06-11 09:32:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":149,"date_string":"11/06/26 Thursday"} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"11/06/26 Thursday","date_obj":"2026-06-11"} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":149,"date_string":"11/06/26 Thursday","patterns":["11/06/26 Thursday","11/06/26","11/06/2026","11/06/26 Thursday","11/06/2026 Thursday","Thursday 11/06/26","Thursday 11/06/2026"]} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":149,"date_string":"11/06/26 Thursday"} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":149,"date_string":"11/06/26 Thursday"} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":72,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":73,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-11 09:32:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-11 09:32:10] local.INFO: Day received (raw): {"day":"11/06/26 Thursday"} 
[2026-06-11 09:32:10] local.INFO: Day received (sanitized): {"day":"11/06/26 Thursday"} 
[2026-06-11 09:32:10] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-11 09:36:49] local.INFO: storestrengthdaily function called.  
[2026-06-11 09:36:49] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-11 09:36:49] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":252,"reps":0,"weight":0,"date":"11/06/26 Thursday","set_number":1,"class_Id":149}]} 
[2026-06-11 09:36:49] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-11 09:36:49] local.INFO: New strength record created {"workout_manager_id":190,"set_number":1} 
[2026-06-12 06:39:05] local.INFO: mobile login pin : 9144  
[2026-06-12 07:20:21] local.INFO: Tab value: all  
[2026-06-12 07:20:21] local.INFO: Day received: {"day":"12/06/26 Friday"} 
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row accessory  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:22] local.INFO: Saved type row strength  
[2026-06-12 07:20:22] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row accessory  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row accessory  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:23] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:23] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:23] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row accessory  
[2026-06-12 07:20:23] local.INFO: Saved type row accessory  
[2026-06-12 07:20:23] local.INFO: Saved type row accessory  
[2026-06-12 07:20:23] local.INFO: Saved type row accessory  
[2026-06-12 07:20:23] local.INFO: Saved type row accessory  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row conditioning  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-12 07:20:23] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:23] local.INFO: Saved type row weightlifting  
[2026-06-12 07:20:23] local.INFO: Saved type row strength  
[2026-06-12 07:20:23] local.INFO: Saved type row warmup  
[2026-06-14 16:50:59] local.INFO: mobile login pin : 3333  
[2026-06-14 16:51:03] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":81,"category_options_id":6,"type":"strength","workout":"Farmers carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:49.000000Z","updated_at":"2024-11-28T02:46:49.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":85,"category_options_id":6,"type":"strength","workout":"KB carry (rack)","link":"https://www.youtube.com/","created_at":"2024-11-28T02:48:31.000000Z","updated_at":"2024-11-28T02:48:31.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":82,"category_options_id":6,"type":"strength","workout":"Offset carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:08.000000Z","updated_at":"2024-11-28T02:47:08.000000Z"},{"id":83,"category_options_id":6,"type":"strength","workout":"Overhead carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:26.000000Z","updated_at":"2024-11-28T02:47:26.000000Z"},{"id":143,"category_options_id":6,"type":"Strength","workout":"Overhead carry KB","link":null,"created_at":"2026-01-29T01:25:02.000000Z","updated_at":"2026-01-29T01:25:02.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":144,"category_options_id":6,"type":"Strength","workout":"Power Clean","link":null,"created_at":"2026-02-17T01:00:06.000000Z","updated_at":"2026-02-17T01:00:06.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":84,"category_options_id":6,"type":"strength","workout":"Sandbag carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:47:45.000000Z","updated_at":"2024-11-28T02:47:45.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":137,"category_options_id":6,"type":"Strength","workout":"Sled drag","link":null,"created_at":"2026-01-21T00:52:06.000000Z","updated_at":"2026-01-21T00:52:06.000000Z"},{"id":136,"category_options_id":6,"type":"Strength","workout":"Sled pull","link":null,"created_at":"2026-01-21T00:51:48.000000Z","updated_at":"2026-01-21T00:51:48.000000Z"},{"id":138,"category_options_id":6,"type":"Strength","workout":"sled push","link":null,"created_at":"2026-01-21T00:52:21.000000Z","updated_at":"2026-01-21T00:52:21.000000Z"},{"id":153,"category_options_id":6,"type":null,"workout":"Snatch","link":null,"created_at":"2026-04-15T03:50:34.000000Z","updated_at":"2026-04-15T03:50:34.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":86,"category_options_id":6,"type":"strength","workout":"Suitcase carry","link":"https://www.youtube.com/","created_at":"2024-11-28T02:56:43.000000Z","updated_at":"2024-11-28T02:56:43.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","58":"Warmup","60":"Select","81":"Weightlifting"}}} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":30,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":32,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":33,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":36,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":38,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":40,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":45,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":47,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":49,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":51,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":66,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":67,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":69,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":71,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":77,"format_type":"intervals","format_id":32,"library_id":17,"type":"Warmup","weight":100} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":106,"format_type":"straight-sets","format_id":252,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":41,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":43,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":44,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":84,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":86,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":88,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":109,"format_type":"straight-sets","format_id":241,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-06-14 16:51:05] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-06-14 22:02:23] local.INFO: mobile login pin : 7825  
[2026-06-14 22:02:33] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":98,"model":"App\\Models\\DailyStrength","workout_format_id":35,"workout_format_type":"emom"} 
[2026-06-14 22:02:34] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-14 22:02:34] local.INFO: Debug record {"daily_id":105,"format_type":"straight-sets","format_id":246,"library_id":17,"type":"Strength","weight":"132"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"emom"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyConditioning","workout_format_id":25,"workout_format_type":"intervals"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":99,"model":"App\\Models\\DailyConditioning","workout_format_id":27,"workout_format_type":"intervals"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":101,"model":"App\\Models\\DailyConditioning","workout_format_id":70,"workout_format_type":"amrap"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-14 22:02:34] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:02:34] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:02:34] local.INFO: Debug record {"daily_id":110,"format_type":"straight-sets","format_id":242,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:02:34] local.INFO: Debug record {"daily_id":115,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:02:34] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-14 22:03:22] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:03:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-14 22:03:22] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-14 22:03:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:03:22] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-14 22:03:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-14 22:03:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:03:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-14 22:03:22] local.WARNING: [getWorkouts] No workout assignments found {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:03:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:03:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-14 22:03:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-14 22:03:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:03:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[90]} 
[2026-06-14 22:03:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"}}} 
[2026-06-14 22:03:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:03:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-14 22:03:36] local.WARNING: [getWorkouts] No workout assignments found {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:03:43] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":98,"model":"App\\Models\\DailyStrength","workout_format_id":35,"workout_format_type":"emom"} 
[2026-06-14 22:03:44] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-14 22:03:44] local.INFO: Debug record {"daily_id":105,"format_type":"straight-sets","format_id":246,"library_id":17,"type":"Strength","weight":"132"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"emom"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyConditioning","workout_format_id":25,"workout_format_type":"intervals"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":99,"model":"App\\Models\\DailyConditioning","workout_format_id":27,"workout_format_type":"intervals"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":101,"model":"App\\Models\\DailyConditioning","workout_format_id":70,"workout_format_type":"amrap"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-14 22:03:44] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:03:44] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:03:44] local.INFO: Debug record {"daily_id":110,"format_type":"straight-sets","format_id":242,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:03:44] local.INFO: Debug record {"daily_id":115,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:03:44] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-14 22:03:46] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":98,"model":"App\\Models\\DailyStrength","workout_format_id":35,"workout_format_type":"emom"} 
[2026-06-14 22:03:46] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-14 22:03:46] local.INFO: Debug record {"daily_id":105,"format_type":"straight-sets","format_id":246,"library_id":17,"type":"Strength","weight":"132"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"emom"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyConditioning","workout_format_id":25,"workout_format_type":"intervals"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":99,"model":"App\\Models\\DailyConditioning","workout_format_id":27,"workout_format_type":"intervals"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":101,"model":"App\\Models\\DailyConditioning","workout_format_id":70,"workout_format_type":"amrap"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-14 22:03:46] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:03:46] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:03:46] local.INFO: Debug record {"daily_id":110,"format_type":"straight-sets","format_id":242,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:03:46] local.INFO: Debug record {"daily_id":115,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:03:46] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-14 22:04:20] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:04:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-14 22:04:20] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-14 22:04:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:04:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[90]} 
[2026-06-14 22:04:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"}}} 
[2026-06-14 22:04:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:04:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-14 22:04:20] local.WARNING: [getWorkouts] No workout assignments found {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:04:23] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":98,"model":"App\\Models\\DailyStrength","workout_format_id":35,"workout_format_type":"emom"} 
[2026-06-14 22:04:24] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-14 22:04:24] local.INFO: Debug record {"daily_id":105,"format_type":"straight-sets","format_id":246,"library_id":17,"type":"Strength","weight":"132"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"emom"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyConditioning","workout_format_id":25,"workout_format_type":"intervals"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":99,"model":"App\\Models\\DailyConditioning","workout_format_id":27,"workout_format_type":"intervals"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":101,"model":"App\\Models\\DailyConditioning","workout_format_id":70,"workout_format_type":"amrap"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-14 22:04:24] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:04:24] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:04:24] local.INFO: Debug record {"daily_id":110,"format_type":"straight-sets","format_id":242,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:04:24] local.INFO: Debug record {"daily_id":115,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-14 22:04:24] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-14 22:04:33] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:04:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-14 22:04:33] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-14 22:04:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:04:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[90]} 
[2026-06-14 22:04:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"}}} 
[2026-06-14 22:04:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-14 22:04:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-14 22:04:33] local.WARNING: [getWorkouts] No workout assignments found {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:41:14] local.INFO: mobile login pin : 7825  
[2026-06-15 01:41:28] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:41:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:41:28] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:41:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:41:28] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[90]} 
[2026-06-15 01:41:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"}}} 
[2026-06-15 01:41:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:41:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:41:28] local.WARNING: [getWorkouts] No workout assignments found {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:41:32] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-15 01:41:32] local.WARNING: Workout format missing for item {"daily_id":98,"model":"App\\Models\\DailyStrength","workout_format_id":35,"workout_format_type":"emom"} 
[2026-06-15 01:41:32] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-15 01:41:32] local.INFO: Debug record {"daily_id":105,"format_type":"straight-sets","format_id":246,"library_id":17,"type":"Strength","weight":"132"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"emom"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyConditioning","workout_format_id":25,"workout_format_type":"intervals"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":99,"model":"App\\Models\\DailyConditioning","workout_format_id":27,"workout_format_type":"intervals"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":101,"model":"App\\Models\\DailyConditioning","workout_format_id":70,"workout_format_type":"amrap"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-15 01:41:33] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:41:33] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:41:33] local.INFO: Debug record {"daily_id":110,"format_type":"straight-sets","format_id":242,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:41:33] local.INFO: Debug record {"daily_id":115,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:41:33] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-15 01:50:48] local.INFO: mobile login pin : 3333  
[2026-06-15 01:50:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:50:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:50:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:50:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:50:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-15 01:50:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-15 01:50:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:50:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:50:58] local.WARNING: [getWorkouts] No workout assignments found {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:51:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:51:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-15 01:51:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-15 01:51:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:51:01] local.WARNING: [getWorkouts] No workout assignments found {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:51:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:51:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-15 01:51:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-15 01:51:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:51:03] local.WARNING: [getWorkouts] No workout assignments found {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:51:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:51:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-15 01:51:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-15 01:51:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:51:05] local.WARNING: [getWorkouts] No workout assignments found {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:51:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:51:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-15 01:51:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-15 01:51:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:51:07] local.WARNING: [getWorkouts] No workout assignments found {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:51:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:51:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-15 01:51:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-15 01:51:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:51:08] local.WARNING: [getWorkouts] No workout assignments found {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:51:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:51:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:13] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-15 01:51:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-15 01:51:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:51:13] local.WARNING: [getWorkouts] No workout assignments found {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:51:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:51:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-15 01:51:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-15 01:51:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:51:25] local.WARNING: [getWorkouts] No workout assignments found {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:29] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:51:29] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:51:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-15 01:51:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-15 01:51:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:51:29] local.WARNING: [getWorkouts] No workout assignments found {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:51:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:51:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-15 01:51:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-15 01:51:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:51:31] local.WARNING: [getWorkouts] No workout assignments found {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:33] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:51:33] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:51:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-15 01:51:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-15 01:51:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:51:33] local.WARNING: [getWorkouts] No workout assignments found {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:36] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:51:36] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:51:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:36] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-15 01:51:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-15 01:51:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:51:36] local.WARNING: [getWorkouts] No workout assignments found {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 01:51:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 01:51:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:50] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[91]} 
[2026-06-15 01:51:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"}}} 
[2026-06-15 01:51:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-15 01:51:50] local.WARNING: [getWorkouts] No workout assignments found {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 01:51:53] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":30,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":32,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":33,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":36,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":38,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":40,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":45,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":47,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":49,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":51,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":66,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":67,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":69,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":71,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":77,"format_type":"intervals","format_id":32,"library_id":17,"type":"Warmup","weight":100} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":106,"format_type":"straight-sets","format_id":252,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":41,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":43,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":44,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":84,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":86,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":88,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":109,"format_type":"straight-sets","format_id":241,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-06-15 01:51:54] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-06-15 01:52:15] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":30,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":32,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":33,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":36,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":38,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":40,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":45,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":47,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":49,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":51,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":66,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":67,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":69,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":71,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":77,"format_type":"intervals","format_id":32,"library_id":17,"type":"Warmup","weight":100} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":106,"format_type":"straight-sets","format_id":252,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":41,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":43,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":44,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":84,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":86,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":88,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":109,"format_type":"straight-sets","format_id":241,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-06-15 01:52:16] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-06-15 02:04:34] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:04:34] local.INFO: Tab value: all  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row accessory  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row accessory  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:34] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:34] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:34] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row accessory  
[2026-06-15 02:04:34] local.INFO: Saved type row accessory  
[2026-06-15 02:04:34] local.INFO: Saved type row accessory  
[2026-06-15 02:04:34] local.INFO: Saved type row accessory  
[2026-06-15 02:04:34] local.INFO: Saved type row accessory  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:34] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:34] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:34] local.INFO: Saved type row strength  
[2026-06-15 02:04:34] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row accessory  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row accessory  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:36] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:36] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:36] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row accessory  
[2026-06-15 02:04:36] local.INFO: Saved type row accessory  
[2026-06-15 02:04:36] local.INFO: Saved type row accessory  
[2026-06-15 02:04:36] local.INFO: Saved type row accessory  
[2026-06-15 02:04:36] local.INFO: Saved type row accessory  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:36] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:36] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:36] local.INFO: Saved type row strength  
[2026-06-15 02:04:36] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row accessory  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row accessory  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:38] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:38] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:38] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row accessory  
[2026-06-15 02:04:38] local.INFO: Saved type row accessory  
[2026-06-15 02:04:38] local.INFO: Saved type row accessory  
[2026-06-15 02:04:38] local.INFO: Saved type row accessory  
[2026-06-15 02:04:38] local.INFO: Saved type row accessory  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row conditioning  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:04:38] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:38] local.INFO: Saved type row weightlifting  
[2026-06-15 02:04:38] local.INFO: Saved type row strength  
[2026-06-15 02:04:38] local.INFO: Saved type row warmup  
[2026-06-15 02:12:57] local.INFO: mobile login pin : 3333  
[2026-06-15 02:13:46] local.INFO: assignWorkoutToClass:  {"workout_id":190,"class_id":"all","type":"workout_manager","action":"assign_all","date":"15/06/26 Monday"} 
[2026-06-15 02:13:46] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-15 02:13:46] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-15 02:13:46] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row accessory  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row accessory  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row weightlifting  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row weightlifting  
[2026-06-15 02:13:46] local.INFO: Saved type row weightlifting  
[2026-06-15 02:13:46] local.INFO: Saved type row weightlifting  
[2026-06-15 02:13:46] local.INFO: Saved type row weightlifting  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row accessory  
[2026-06-15 02:13:46] local.INFO: Saved type row accessory  
[2026-06-15 02:13:46] local.INFO: Saved type row accessory  
[2026-06-15 02:13:46] local.INFO: Saved type row accessory  
[2026-06-15 02:13:46] local.INFO: Saved type row accessory  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row warmup  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:46] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:46] local.INFO: Saved type row strength  
[2026-06-15 02:13:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:47] local.INFO: Saved type row strength  
[2026-06-15 02:13:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:47] local.INFO: Saved type row strength  
[2026-06-15 02:13:47] local.INFO: Saved type row warmup  
[2026-06-15 02:13:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:13:47] local.INFO: Saved type row strength  
[2026-06-15 02:13:47] local.INFO: Saved type row warmup  
[2026-06-15 02:13:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:13:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:13:47] local.INFO: Saved type row strength  
[2026-06-15 02:13:47] local.INFO: Saved type row warmup  
[2026-06-15 02:14:09] local.INFO: mobile login pin : 3333  
[2026-06-15 02:14:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[91]} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"}}} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":72,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":73,"workout_libraries_id":21,"available_test_library_ids":[16]} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:14:23] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-15 02:14:23] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:14:23] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:14:23] local.INFO: Tests retrieved {"count":1,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[91]} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"}}} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":72,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":73,"workout_libraries_id":21,"available_test_library_ids":[16]} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:14:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-15 02:14:27] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:14:27] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:14:27] local.INFO: Tests retrieved {"count":1,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[91]} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"}}} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":72,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":73,"workout_libraries_id":21,"available_test_library_ids":[16]} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:14:31] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-15 02:14:31] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:14:31] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:14:31] local.INFO: Tests retrieved {"count":1,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[91]} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"}}} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":72,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":73,"workout_libraries_id":21,"available_test_library_ids":[16]} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:14:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-15 02:14:34] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:14:34] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:14:34] local.INFO: Tests retrieved {"count":1,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[91]} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"}}} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":72,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":73,"workout_libraries_id":21,"available_test_library_ids":[16]} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:14:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-15 02:14:37] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:14:37] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:14:37] local.INFO: Tests retrieved {"count":1,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 02:15:15] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[16],"test_ids":[91]} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"}}} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16]} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":74,"workout_libraries_id":17,"available_test_library_ids":[16]} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":75,"workout_libraries_id":21,"available_test_library_ids":[16]} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:15:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-15 02:15:16] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:15:16] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:15:16] local.INFO: Tests retrieved {"count":1,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 02:15:16] local.INFO: Tab value: all  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row accessory  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row accessory  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:17] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:17] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:17] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row accessory  
[2026-06-15 02:15:17] local.INFO: Saved type row accessory  
[2026-06-15 02:15:17] local.INFO: Saved type row accessory  
[2026-06-15 02:15:17] local.INFO: Saved type row accessory  
[2026-06-15 02:15:17] local.INFO: Saved type row accessory  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:17] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:17] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:17] local.INFO: Saved type row strength  
[2026-06-15 02:15:17] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row accessory  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row accessory  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row accessory  
[2026-06-15 02:15:18] local.INFO: Saved type row accessory  
[2026-06-15 02:15:18] local.INFO: Saved type row accessory  
[2026-06-15 02:15:18] local.INFO: Saved type row accessory  
[2026-06-15 02:15:18] local.INFO: Saved type row accessory  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:18] local.INFO: Saved type row strength  
[2026-06-15 02:15:18] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row accessory  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row accessory  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:20] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:20] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:20] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row accessory  
[2026-06-15 02:15:20] local.INFO: Saved type row accessory  
[2026-06-15 02:15:20] local.INFO: Saved type row accessory  
[2026-06-15 02:15:20] local.INFO: Saved type row accessory  
[2026-06-15 02:15:20] local.INFO: Saved type row accessory  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row conditioning  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:20] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:20] local.INFO: Saved type row weightlifting  
[2026-06-15 02:15:20] local.INFO: Saved type row strength  
[2026-06-15 02:15:20] local.INFO: Saved type row warmup  
[2026-06-15 02:15:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,17],"test_ids":[91,92]} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"}}} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":74,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":74,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:15:08.000000Z","updated_at":"2026-06-15T02:15:08.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":74,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":254,"workout_libraries_id":17,"straight_id":74,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:15:08.000000Z","updated_at":"2026-06-15T02:15:08.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":75,"workout_libraries_id":21,"available_test_library_ids":[16,17]} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:15:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-15 02:15:41] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:15:41] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:15:41] local.INFO: Tests retrieved {"count":2,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 02:19:40] local.INFO: Tab value: all  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row accessory  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row accessory  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:40] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:40] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:40] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row accessory  
[2026-06-15 02:19:40] local.INFO: Saved type row accessory  
[2026-06-15 02:19:40] local.INFO: Saved type row accessory  
[2026-06-15 02:19:40] local.INFO: Saved type row accessory  
[2026-06-15 02:19:40] local.INFO: Saved type row accessory  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:40] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:40] local.INFO: Saved type row strength  
[2026-06-15 02:19:40] local.INFO: Saved type row warmup  
[2026-06-15 02:19:40] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row accessory  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row conditioning  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row weightlifting  
[2026-06-15 02:19:41] local.INFO: Saved type row strength  
[2026-06-15 02:19:41] local.INFO: Saved type row warmup  
[2026-06-15 02:19:58] local.INFO: mobile login pin : 7825  
[2026-06-15 02:20:03] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[90]} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"}}} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":74,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":74,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:15:08.000000Z","updated_at":"2026-06-15T02:15:08.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":74,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":254,"workout_libraries_id":17,"straight_id":74,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:15:08.000000Z","updated_at":"2026-06-15T02:15:08.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":75,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:20:03] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":2,"completed":0,"status":0} 
[2026-06-15 02:20:03] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:20:03] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:20:03] local.INFO: Tests retrieved {"count":1,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 02:20:31] local.INFO: Tab value: all  
[2026-06-15 02:20:31] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row accessory  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:31] local.INFO: Saved type row strength  
[2026-06-15 02:20:31] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row accessory  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row accessory  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:32] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:32] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:32] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row accessory  
[2026-06-15 02:20:32] local.INFO: Saved type row accessory  
[2026-06-15 02:20:32] local.INFO: Saved type row accessory  
[2026-06-15 02:20:32] local.INFO: Saved type row accessory  
[2026-06-15 02:20:32] local.INFO: Saved type row accessory  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row conditioning  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:32] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:32] local.INFO: Saved type row weightlifting  
[2026-06-15 02:20:32] local.INFO: Saved type row strength  
[2026-06-15 02:20:32] local.INFO: Saved type row warmup  
[2026-06-15 02:20:33] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[90]} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"}}} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":76,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":76,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":76,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":256,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":257,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":258,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":77,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:20:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":6,"completed":0,"status":0} 
[2026-06-15 02:20:33] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:20:33] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:20:33] local.INFO: Tests retrieved {"count":1,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 02:20:42] local.INFO: storestrengthdaily function called.  
[2026-06-15 02:20:42] local.INFO: storestrengthdaily function called.  
[2026-06-15 02:20:42] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 02:20:42] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 02:20:42] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":259,"reps":3,"weight":33,"date":"15/06/26 Monday","set_number":1,"class_Id":332}]} 
[2026-06-15 02:20:42] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":256,"reps":4,"weight":132,"date":"15/06/26 Monday","set_number":1,"class_Id":332}]} 
[2026-06-15 02:20:42] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-15 02:20:42] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-15 02:20:42] local.INFO: New strength record created {"workout_manager_id":190,"set_number":1} 
[2026-06-15 02:20:42] local.INFO: New strength record created {"workout_manager_id":190,"set_number":1} 
[2026-06-15 02:21:11] local.INFO: storestrengthdaily function called.  
[2026-06-15 02:21:11] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 02:21:11] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":260,"reps":3,"weight":33,"date":"15/06/26 Monday","set_number":2,"class_Id":332}]} 
[2026-06-15 02:21:11] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-15 02:21:11] local.INFO: New strength record created {"workout_manager_id":190,"set_number":2} 
[2026-06-15 02:21:11] local.INFO: storestrengthdaily function called.  
[2026-06-15 02:21:11] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 02:21:11] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":257,"reps":4,"weight":132,"date":"15/06/26 Monday","set_number":2,"class_Id":332}]} 
[2026-06-15 02:21:11] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-15 02:21:11] local.INFO: New strength record created {"workout_manager_id":190,"set_number":2} 
[2026-06-15 02:21:40] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":30,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":32,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":33,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":36,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":38,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":40,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":45,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":47,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":49,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":51,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":66,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":67,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":69,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":71,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":77,"format_type":"intervals","format_id":32,"library_id":17,"type":"Warmup","weight":100} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyStrength","workout_format_id":252,"workout_format_type":"straight-sets"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":41,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":43,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":44,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":84,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":86,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":88,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":109,"format_type":"straight-sets","format_id":241,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-06-15 02:21:41] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-06-15 02:21:54] local.INFO: assignWorkoutToClass:  {"workout_id":189,"class_id":332,"type":"workout_manager","action":"assign","date":"15/06/26 Monday"} 
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row accessory  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row accessory  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row weightlifting  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row weightlifting  
[2026-06-15 02:21:55] local.INFO: Saved type row weightlifting  
[2026-06-15 02:21:55] local.INFO: Saved type row weightlifting  
[2026-06-15 02:21:55] local.INFO: Saved type row weightlifting  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row accessory  
[2026-06-15 02:21:55] local.INFO: Saved type row accessory  
[2026-06-15 02:21:55] local.INFO: Saved type row accessory  
[2026-06-15 02:21:55] local.INFO: Saved type row accessory  
[2026-06-15 02:21:55] local.INFO: Saved type row accessory  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row conditioning  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Saved type row weightlifting  
[2026-06-15 02:21:55] local.INFO: Saved type row weightlifting  
[2026-06-15 02:21:55] local.INFO: Saved type row strength  
[2026-06-15 02:21:55] local.INFO: Saved type row warmup  
[2026-06-15 02:21:55] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:22:10] local.INFO: assignWorkoutToClass:  {"workout_id":185,"class_id":332,"type":"workout_manager","action":"assign","date":"15/06/26 Monday"} 
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row accessory  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row accessory  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:11] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:11] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:11] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row accessory  
[2026-06-15 02:22:11] local.INFO: Saved type row accessory  
[2026-06-15 02:22:11] local.INFO: Saved type row accessory  
[2026-06-15 02:22:11] local.INFO: Saved type row accessory  
[2026-06-15 02:22:11] local.INFO: Saved type row accessory  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:11] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:11] local.INFO: Saved type row strength  
[2026-06-15 02:22:11] local.INFO: Saved type row warmup  
[2026-06-15 02:22:11] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:22:49] local.INFO: Tab value: all  
[2026-06-15 02:22:49] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row accessory  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row accessory  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row accessory  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:49] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:49] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:49] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row accessory  
[2026-06-15 02:22:49] local.INFO: Saved type row accessory  
[2026-06-15 02:22:49] local.INFO: Saved type row accessory  
[2026-06-15 02:22:49] local.INFO: Saved type row accessory  
[2026-06-15 02:22:49] local.INFO: Saved type row accessory  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:49] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:49] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:49] local.INFO: Saved type row strength  
[2026-06-15 02:22:49] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row accessory  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row conditioning  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row weightlifting  
[2026-06-15 02:22:50] local.INFO: Saved type row strength  
[2026-06-15 02:22:50] local.INFO: Saved type row warmup  
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyWarmup","workout_format_id":32,"workout_format_type":"intervals"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyWarmup","workout_format_id":33,"workout_format_type":"intervals"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":79,"model":"App\\Models\\DailyWarmup","workout_format_id":34,"workout_format_type":"intervals"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":80,"model":"App\\Models\\DailyWarmup","workout_format_id":35,"workout_format_type":"intervals"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyWarmup","workout_format_id":36,"workout_format_type":"intervals"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyStrength","workout_format_id":252,"workout_format_type":"straight-sets"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 02:22:54] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[16,17],"test_ids":[91,92]} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"}}} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17]} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":76,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":76,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":76,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":256,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":257,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":258,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":77,"workout_libraries_id":21,"available_test_library_ids":[16,17]} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:23:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":6,"completed":0,"status":0} 
[2026-06-15 02:23:01] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:23:01] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:23:01] local.INFO: Tests retrieved {"count":2,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 02:23:02] local.INFO: assignWorkoutToClass:  {"workout_id":177,"class_id":332,"type":"workout_manager","action":"assign","date":"15/06/26 Monday"} 
[2026-06-15 02:23:02] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row accessory  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row accessory  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row accessory  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row weightlifting  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row weightlifting  
[2026-06-15 02:23:02] local.INFO: Saved type row weightlifting  
[2026-06-15 02:23:02] local.INFO: Saved type row weightlifting  
[2026-06-15 02:23:02] local.INFO: Saved type row weightlifting  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row accessory  
[2026-06-15 02:23:02] local.INFO: Saved type row accessory  
[2026-06-15 02:23:02] local.INFO: Saved type row accessory  
[2026-06-15 02:23:02] local.INFO: Saved type row accessory  
[2026-06-15 02:23:02] local.INFO: Saved type row accessory  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row conditioning  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:02] local.INFO: Saved type row weightlifting  
[2026-06-15 02:23:02] local.INFO: Saved type row weightlifting  
[2026-06-15 02:23:02] local.INFO: Saved type row strength  
[2026-06-15 02:23:02] local.INFO: Saved type row warmup  
[2026-06-15 02:23:15] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[90]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"}}} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[190,189,185,177],"types":["strength","warmup","conditioning","accessory"]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,185,177]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[177,185,189,190],"types":["Accessory","Conditioning","Warmup","Strength"],"formats":["intervals","emom","straight-sets"]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"available_test_library_ids":[17]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":76,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":76,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":76,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":256,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":257,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":258,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":77,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":4,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":8,"matched":3,"not_matched":5,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":0,"status":0} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 02:23:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":6,"completed":4,"status":0} 
[2026-06-15 02:23:15] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:23:15] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:23:15] local.INFO: Tests retrieved {"count":1,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17,116],"test_ids":[91,92,93]} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"}}} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116]} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":76,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":76,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":76,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":256,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":257,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":258,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":77,"workout_libraries_id":21,"available_test_library_ids":[16,17,116]} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:23:32] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":6,"completed":0,"status":0} 
[2026-06-15 02:23:32] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:23:32] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:23:32] local.INFO: Tests retrieved {"count":3,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 02:23:37] local.INFO: storewarmupdaily function called.  
[2026-06-15 02:23:37] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 02:23:37] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":189,"workout_format_type":"emom","workout_format_id":39,"reps":0,"set_number":1,"round_number":"1/3","weight":100,"exercise_time":"02:00","notes":null,"status":"completed","date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 02:23:37] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-15 02:23:37] local.INFO: New warm-up created {"workout_manager_id":189,"workout_format_type":"emom","workout_format_id":39,"round_number":"1/3"} 
[2026-06-15 02:23:40] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyWarmup","workout_format_id":32,"workout_format_type":"intervals"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyWarmup","workout_format_id":33,"workout_format_type":"intervals"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":79,"model":"App\\Models\\DailyWarmup","workout_format_id":34,"workout_format_type":"intervals"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":80,"model":"App\\Models\\DailyWarmup","workout_format_id":35,"workout_format_type":"intervals"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyWarmup","workout_format_id":36,"workout_format_type":"intervals"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyStrength","workout_format_id":252,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 02:23:41] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyWarmup","workout_format_id":32,"workout_format_type":"intervals"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyWarmup","workout_format_id":33,"workout_format_type":"intervals"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":79,"model":"App\\Models\\DailyWarmup","workout_format_id":34,"workout_format_type":"intervals"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":80,"model":"App\\Models\\DailyWarmup","workout_format_id":35,"workout_format_type":"intervals"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyWarmup","workout_format_id":36,"workout_format_type":"intervals"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyStrength","workout_format_id":252,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 02:23:42] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 02:23:49] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyWarmup","workout_format_id":32,"workout_format_type":"intervals"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyWarmup","workout_format_id":33,"workout_format_type":"intervals"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":79,"model":"App\\Models\\DailyWarmup","workout_format_id":34,"workout_format_type":"intervals"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":80,"model":"App\\Models\\DailyWarmup","workout_format_id":35,"workout_format_type":"intervals"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyWarmup","workout_format_id":36,"workout_format_type":"intervals"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyStrength","workout_format_id":252,"workout_format_type":"straight-sets"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 02:23:51] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17,116],"test_ids":[91,92,93]} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"}}} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116]} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":76,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":76,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":76,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":256,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":257,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":258,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":77,"workout_libraries_id":21,"available_test_library_ids":[16,17,116]} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:23:53] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":6,"completed":0,"status":0} 
[2026-06-15 02:23:53] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:23:53] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:23:53] local.INFO: Tests retrieved {"count":3,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 02:24:01] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyWarmup","workout_format_id":32,"workout_format_type":"intervals"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyWarmup","workout_format_id":33,"workout_format_type":"intervals"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":79,"model":"App\\Models\\DailyWarmup","workout_format_id":34,"workout_format_type":"intervals"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":80,"model":"App\\Models\\DailyWarmup","workout_format_id":35,"workout_format_type":"intervals"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyWarmup","workout_format_id":36,"workout_format_type":"intervals"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyStrength","workout_format_id":252,"workout_format_type":"straight-sets"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 02:24:01] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17,116],"test_ids":[91,92,93]} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"}}} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116]} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":76,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":76,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":76,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":256,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":257,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":258,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":77,"workout_libraries_id":21,"available_test_library_ids":[16,17,116]} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:24:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":6,"completed":0,"status":0} 
[2026-06-15 02:24:20] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:24:20] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:24:20] local.INFO: Tests retrieved {"count":3,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17,116],"test_ids":[91,92,93]} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"}}} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[190],"types":["strength"]} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190]} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[190],"types":["Strength"],"formats":["straight-sets"]} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116]} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":76,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":76,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":76,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":256,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":257,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":258,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":77,"workout_libraries_id":21,"available_test_library_ids":[16,17,116]} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 02:24:32] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":6,"completed":0,"status":0} 
[2026-06-15 02:24:32] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:24:32] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:24:32] local.INFO: Tests retrieved {"count":3,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 02:26:29] local.INFO: storewarmupdaily function called.  
[2026-06-15 02:26:29] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 02:26:29] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":189,"workout_format_type":"emom","workout_format_id":39,"reps":0,"set_number":1,"round_number":"2/3","weight":100,"exercise_time":"02:00","notes":null,"status":"incompleted","date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 02:26:29] local.INFO: Existing warmup record: {"dailyWarmup":{"id":84,"class_id":332,"member_id":9,"warmup_id":null,"workout_manager_id":189,"workout_format_type":"emom","workout_format_id":39,"reps":0,"date":"15/06/26 Monday","created_at":"2026-06-15T02:23:37.000000Z","updated_at":"2026-06-15T02:23:37.000000Z","exercise_time":"02:00","round_number":"1/3","notes":null}} 
[2026-06-15 02:26:29] local.INFO: Warm-up updated {"workout_manager_id":189,"workout_format_type":"emom","workout_format_id":39,"round_number":"2/3"} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[90]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"}}} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[190,189,185,177],"types":["strength","warmup","conditioning","accessory"]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,185,177]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[177,185,189,190],"types":["Accessory","Conditioning","Warmup","Strength"],"formats":["intervals","emom","straight-sets"]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"available_test_library_ids":[17]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":76,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":76,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":76,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":256,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":257,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":258,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":77,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":4,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":8,"matched":3,"not_matched":5,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":0,"status":0} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 02:35:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":6,"completed":4,"status":0} 
[2026-06-15 02:35:25] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:35:25] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:35:25] local.INFO: Tests retrieved {"count":1,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 02:36:23] local.INFO: storeconditioningdaily function called.  
[2026-06-15 02:36:23] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 02:36:23] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":185,"workout_format_type":"intervals","workout_format_id":43,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:30","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 02:36:23] local.INFO: Conditioning saved successfully {"workout_manager_id":185} 
[2026-06-15 02:36:47] local.INFO: Tab value: all  
[2026-06-15 02:36:47] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row accessory  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row accessory  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row accessory  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row accessory  
[2026-06-15 02:36:47] local.INFO: Saved type row accessory  
[2026-06-15 02:36:47] local.INFO: Saved type row accessory  
[2026-06-15 02:36:47] local.INFO: Saved type row accessory  
[2026-06-15 02:36:47] local.INFO: Saved type row accessory  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row accessory  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row accessory  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row warmup  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row accessory  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row strength  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row accessory  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:36:48] local.INFO: Saved type row strength  
[2026-06-15 02:36:48] local.INFO: Saved type row warmup  
[2026-06-15 02:36:59] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[90]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"}}} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[190,189,185,177],"types":["strength","warmup","conditioning","accessory"]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,185,177]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[177,185,189,190],"types":["Accessory","Conditioning","Warmup","Strength"],"formats":["intervals","emom","straight-sets"]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"available_test_library_ids":[17]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":76,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":76,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":76,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":256,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":257,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":258,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":77,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":4,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":8,"matched":3,"not_matched":5,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":43,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":1,"status":0} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 02:36:59] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":6,"completed":4,"status":0} 
[2026-06-15 02:36:59] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:36:59] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:36:59] local.INFO: Tests retrieved {"count":1,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[90,94]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"}}} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[190,189,185,177],"types":["strength","warmup","conditioning","accessory"]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,185,177]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[177,185,189,190],"types":["Accessory","Conditioning","Warmup","Strength"],"formats":["intervals","emom","straight-sets"]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":185,"relation":"intervals","format_row_id":43,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":43,"stationumber":1,"workout_manager_id":185,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"work":"00:00:30","rest":"00:00:15","created_at":"2026-06-11T01:40:40.000000Z","updated_at":"2026-06-11T01:40:40.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":43,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":185,"relation":"intervals","format_row_id":44,"workout_libraries_id":16,"available_test_library_ids":[17,32]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":76,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":76,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":76,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":256,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":257,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":258,"workout_libraries_id":17,"straight_id":76,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:20:28.000000Z","updated_at":"2026-06-15T02:20:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":190,"relation":"straights","format_row_id":77,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":5,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":8,"matched":4,"not_matched":4,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":185,"workout_format_id":43,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":2,"completed":1,"status":0} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 02:37:29] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":6,"completed":4,"status":0} 
[2026-06-15 02:37:29] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:37:29] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:37:29] local.INFO: Tests retrieved {"count":2,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 02:38:23] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 02:38:23] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":45,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 02:38:23] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-06-15 02:38:23] local.INFO: New accessory record created {"workout_manager_id":177,"set_number":1} 
[2026-06-15 02:40:18] local.INFO: assignWorkoutToClass:  {"workout_id":185,"class_id":332,"type":"workout_manager","action":"unassign","date":"15/06/26 Monday"} 
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row accessory  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row accessory  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row accessory  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row accessory  
[2026-06-15 02:40:18] local.INFO: Saved type row accessory  
[2026-06-15 02:40:18] local.INFO: Saved type row accessory  
[2026-06-15 02:40:18] local.INFO: Saved type row accessory  
[2026-06-15 02:40:18] local.INFO: Saved type row accessory  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:18] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:18] local.INFO: Saved type row strength  
[2026-06-15 02:40:18] local.INFO: Saved type row warmup  
[2026-06-15 02:40:18] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:40:22] local.INFO: assignWorkoutToClass:  {"workout_id":190,"class_id":"all","type":"workout_manager","action":"unassign","date":"15/06/26 Monday"} 
[2026-06-15 02:40:23] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row accessory  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row accessory  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row accessory  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:23] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:23] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:23] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row accessory  
[2026-06-15 02:40:23] local.INFO: Saved type row accessory  
[2026-06-15 02:40:23] local.INFO: Saved type row accessory  
[2026-06-15 02:40:23] local.INFO: Saved type row accessory  
[2026-06-15 02:40:23] local.INFO: Saved type row accessory  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:23] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:23] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:23] local.INFO: Saved type row strength  
[2026-06-15 02:40:23] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:40:47] local.INFO: Tab value: all  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row accessory  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row accessory  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row accessory  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row accessory  
[2026-06-15 02:40:47] local.INFO: Saved type row accessory  
[2026-06-15 02:40:47] local.INFO: Saved type row accessory  
[2026-06-15 02:40:47] local.INFO: Saved type row accessory  
[2026-06-15 02:40:47] local.INFO: Saved type row accessory  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:47] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:47] local.INFO: Saved type row strength  
[2026-06-15 02:40:47] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row accessory  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:48] local.INFO: Saved type row strength  
[2026-06-15 02:40:48] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: assignWorkoutToClass:  {"workout_id":190,"class_id":332,"type":"workout_manager","action":"assign","date":"15/06/26 Monday"} 
[2026-06-15 02:40:52] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row accessory  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row accessory  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row accessory  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:52] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:52] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:52] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row accessory  
[2026-06-15 02:40:52] local.INFO: Saved type row accessory  
[2026-06-15 02:40:52] local.INFO: Saved type row accessory  
[2026-06-15 02:40:52] local.INFO: Saved type row accessory  
[2026-06-15 02:40:52] local.INFO: Saved type row accessory  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row conditioning  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:40:52] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:52] local.INFO: Saved type row weightlifting  
[2026-06-15 02:40:52] local.INFO: Saved type row strength  
[2026-06-15 02:40:52] local.INFO: Saved type row warmup  
[2026-06-15 02:41:04] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[90,94]} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"}}} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[190,189,177],"types":["strength","warmup","accessory"]} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,177]} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[177,189,190],"types":["Accessory","Warmup","Strength"],"formats":["intervals","emom","straight-sets"]} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32]} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32]} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32]} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":4,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":1,"status":0} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 02:41:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":0,"status":0} 
[2026-06-15 02:41:04] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:41:04] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:41:04] local.INFO: Tests retrieved {"count":2,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[90,94]} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"}}} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[190,189,177],"types":["strength","warmup","accessory"]} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,177]} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[177,189,190],"types":["Accessory","Warmup","Strength"],"formats":["intervals","emom","straight-sets"]} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32]} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32]} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32]} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":4,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":1,"status":0} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 02:41:07] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":0,"status":0} 
[2026-06-15 02:41:07] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 02:41:07] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 02:41:07] local.INFO: Tests retrieved {"count":2,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 02:41:21] local.INFO: storestrengthdaily function called.  
[2026-06-15 02:41:21] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 02:41:21] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":262,"reps":4,"weight":132,"date":"15/06/26 Monday","set_number":1,"class_Id":332}]} 
[2026-06-15 02:41:21] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-15 02:41:21] local.INFO: New strength record created {"workout_manager_id":190,"set_number":1} 
[2026-06-15 02:41:35] local.INFO: storestrengthdaily function called.  
[2026-06-15 02:41:35] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 02:41:35] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":262,"reps":4,"weight":132,"date":"15/06/26 Monday","set_number":1,"notes":null,"class_Id":332},{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":263,"reps":3,"weight":132,"date":"15/06/26 Monday","set_number":2,"notes":null,"class_Id":332},{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":264,"reps":4,"weight":132,"date":"15/06/26 Monday","set_number":3,"notes":null,"class_Id":332}]} 
[2026-06-15 02:41:35] local.INFO: Existing strength record: {"dailyStrength":{"id":111,"class_id":332,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":262,"type":"Primary","reps":4,"weight":"132","date":"15/06/26 Monday","created_at":"2026-06-15T02:41:21.000000Z","updated_at":"2026-06-15T02:41:21.000000Z","set_number":1,"exercise_time":null,"notes":null}} 
[2026-06-15 02:41:35] local.INFO: Strength updated {"workout_manager_id":190,"set_number":1} 
[2026-06-15 02:41:35] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-15 02:41:35] local.INFO: New strength record created {"workout_manager_id":190,"set_number":2} 
[2026-06-15 02:41:35] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-15 02:41:35] local.INFO: New strength record created {"workout_manager_id":190,"set_number":3} 
[2026-06-15 02:41:42] local.INFO: storestrengthdaily function called.  
[2026-06-15 02:41:42] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 02:41:42] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":262,"reps":4,"weight":132,"date":"15/06/26 Monday","set_number":1,"notes":null,"class_Id":332},{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":263,"reps":3,"weight":132,"date":"15/06/26 Monday","set_number":2,"notes":null,"class_Id":332},{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":264,"reps":4,"weight":132,"date":"15/06/26 Monday","set_number":3,"notes":null,"class_Id":332}]} 
[2026-06-15 02:41:42] local.INFO: Existing strength record: {"dailyStrength":{"id":111,"class_id":332,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":262,"type":"Primary","reps":4,"weight":"132","date":"15/06/26 Monday","created_at":"2026-06-15T02:41:21.000000Z","updated_at":"2026-06-15T02:41:21.000000Z","set_number":1,"exercise_time":null,"notes":null}} 
[2026-06-15 02:41:42] local.INFO: Strength updated {"workout_manager_id":190,"set_number":1} 
[2026-06-15 02:41:42] local.INFO: Existing strength record: {"dailyStrength":{"id":112,"class_id":332,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":263,"type":"Primary","reps":3,"weight":"132","date":"15/06/26 Monday","created_at":"2026-06-15T02:41:35.000000Z","updated_at":"2026-06-15T02:41:35.000000Z","set_number":2,"exercise_time":null,"notes":null}} 
[2026-06-15 02:41:42] local.INFO: Strength updated {"workout_manager_id":190,"set_number":2} 
[2026-06-15 02:41:42] local.INFO: Existing strength record: {"dailyStrength":{"id":113,"class_id":332,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":264,"type":"Primary","reps":4,"weight":"132","date":"15/06/26 Monday","created_at":"2026-06-15T02:41:35.000000Z","updated_at":"2026-06-15T02:41:35.000000Z","set_number":3,"exercise_time":null,"notes":null}} 
[2026-06-15 02:41:42] local.INFO: Strength updated {"workout_manager_id":190,"set_number":3} 
[2026-06-15 03:34:12] local.INFO: mobile login pin : 7825  
[2026-06-15 03:35:19] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,32],"test_ids":[90,94]} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"}}} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[190,189,177],"types":["strength","warmup","accessory"]} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,177]} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[177,189,190],"types":["Accessory","Warmup","Strength"],"formats":["intervals","emom","straight-sets"]} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32]} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32]} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32]} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32]} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":4,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":1,"status":0} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 03:35:19] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":3,"status":1} 
[2026-06-15 03:35:19] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 03:35:19] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 03:35:19] local.INFO: Tests retrieved {"count":2,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 03:37:38] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 03:37:38] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":45,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 03:37:38] local.INFO: Existing accessory record: {"dailyAccessory":{"id":16,"class_id":332,"round_number":null,"member_id":9,"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":45,"set_number":1,"reps":0,"weight":null,"date":"15/06/26 Monday","created_at":"2026-06-15T02:38:23.000000Z","updated_at":"2026-06-15T02:38:23.000000Z","exercise_time":"00:15","notes":null}} 
[2026-06-15 03:37:38] local.INFO: Accessory updated {"workout_manager_id":177,"set_number":1} 
[2026-06-15 03:38:09] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 03:38:09] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":46,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 03:38:09] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-06-15 03:38:09] local.INFO: New accessory record created {"workout_manager_id":177,"set_number":1} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[17,32,56],"test_ids":[90,94,95,96]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":96,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:15"}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[190,189,177],"types":["strength","warmup","accessory"]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,177]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[177,189,190],"types":["Accessory","Warmup","Strength"],"formats":["intervals","emom","straight-sets"]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":4,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":2,"status":0} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":3,"status":1} 
[2026-06-15 04:11:16] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: Tests retrieved {"count":4,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[17,32,56],"test_ids":[90,94,95,96]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":96,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:15"}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[190,189,177],"types":["strength","warmup","accessory"]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,177]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[177,189,190],"types":["Accessory","Warmup","Strength"],"formats":["intervals","emom","straight-sets"]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":4,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":2,"status":0} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":3,"status":1} 
[2026-06-15 04:11:16] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: Tests retrieved {"count":4,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[190,189,177],"types":["strength","warmup","accessory"]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,177]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[177,189,190],"types":["Accessory","Warmup","Strength"],"formats":["intervals","emom","straight-sets"]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":4,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":2,"status":0} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 04:11:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":3,"status":1} 
[2026-06-15 04:11:16] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 04:11:16] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 04:11:17] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 04:18:19] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 04:18:19] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":47,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 04:18:19] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-06-15 04:18:19] local.INFO: New accessory record created {"workout_manager_id":177,"set_number":1} 
[2026-06-15 04:19:20] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 04:19:20] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":48,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:45","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 04:19:20] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-06-15 04:19:20] local.INFO: New accessory record created {"workout_manager_id":177,"set_number":2} 
[2026-06-15 04:20:21] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 04:20:21] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":49,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:45","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 04:20:21] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-06-15 04:20:21] local.INFO: New accessory record created {"workout_manager_id":177,"set_number":2} 
[2026-06-15 04:20:51] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 04:20:51] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":177,"workout_format_type":"intervals","workout_format_id":50,"reps":0,"set_number":3,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 04:20:51] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-06-15 04:20:51] local.INFO: New accessory record created {"workout_manager_id":177,"set_number":3} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[190,189,177],"types":["strength","warmup","accessory"]} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,177]} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[177,189,190],"types":["Accessory","Warmup","Strength"],"formats":["intervals","emom","straight-sets"]} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":4,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":2},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":47,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":48,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":49,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":50,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":6,"status":1} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 04:20:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":3,"status":1} 
[2026-06-15 04:20:51] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 04:20:51] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 04:20:51] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 04:32:00] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":98,"model":"App\\Models\\DailyStrength","workout_format_id":35,"workout_format_type":"emom"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyStrength","workout_format_id":256,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyStrength","workout_format_id":259,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":109,"model":"App\\Models\\DailyStrength","workout_format_id":260,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":110,"model":"App\\Models\\DailyStrength","workout_format_id":257,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":105,"format_type":"straight-sets","format_id":246,"library_id":17,"type":"Strength","weight":"132"} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":111,"format_type":"straight-sets","format_id":262,"library_id":17,"type":"Strength","weight":"132"} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":112,"format_type":"straight-sets","format_id":263,"library_id":17,"type":"Strength","weight":"132"} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":113,"format_type":"straight-sets","format_id":264,"library_id":17,"type":"Strength","weight":"132"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"emom"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyConditioning","workout_format_id":25,"workout_format_type":"intervals"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":99,"model":"App\\Models\\DailyConditioning","workout_format_id":27,"workout_format_type":"intervals"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":101,"model":"App\\Models\\DailyConditioning","workout_format_id":70,"workout_format_type":"amrap"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":110,"format_type":"straight-sets","format_id":242,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":115,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":117,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":16,"format_type":"intervals","format_id":45,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-15 04:32:01] local.INFO: Debug record {"daily_id":21,"format_type":"intervals","format_id":50,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-15 06:54:26] local.INFO: Tab value: all  
[2026-06-15 06:54:26] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row accessory  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row accessory  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row accessory  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:26] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:26] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:26] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row accessory  
[2026-06-15 06:54:26] local.INFO: Saved type row accessory  
[2026-06-15 06:54:26] local.INFO: Saved type row accessory  
[2026-06-15 06:54:26] local.INFO: Saved type row accessory  
[2026-06-15 06:54:26] local.INFO: Saved type row accessory  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:26] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:26] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:26] local.INFO: Saved type row strength  
[2026-06-15 06:54:26] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row accessory  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row conditioning  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row weightlifting  
[2026-06-15 06:54:27] local.INFO: Saved type row strength  
[2026-06-15 06:54:27] local.INFO: Saved type row warmup  
[2026-06-15 06:55:40] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 06:55:40] local.INFO: Tab value: all  
[2026-06-15 06:55:40] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:40] local.INFO: Saved type row strength  
[2026-06-15 06:55:40] local.INFO: Saved type row warmup  
[2026-06-15 06:55:40] local.INFO: Saved type row strength  
[2026-06-15 06:55:40] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:40] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:40] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:41] local.INFO: Saved type row accessory  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row warmup  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:41] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row accessory  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row warmup  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row warmup  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row warmup  
[2026-06-15 06:55:42] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row warmup  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:42] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:42] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:42] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row accessory  
[2026-06-15 06:55:42] local.INFO: Saved type row accessory  
[2026-06-15 06:55:42] local.INFO: Saved type row accessory  
[2026-06-15 06:55:42] local.INFO: Saved type row accessory  
[2026-06-15 06:55:42] local.INFO: Saved type row accessory  
[2026-06-15 06:55:42] local.INFO: Saved type row warmup  
[2026-06-15 06:55:42] local.INFO: Saved type row warmup  
[2026-06-15 06:55:42] local.INFO: Saved type row warmup  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row warmup  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row warmup  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row warmup  
[2026-06-15 06:55:42] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:42] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:42] local.INFO: Saved type row strength  
[2026-06-15 06:55:42] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: assignWorkoutToClass:  {"workout_id":199,"class_id":"all","type":"workout_manager","action":"assign_all","date":"15/06/26 Monday"} 
[2026-06-15 06:55:49] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-15 06:55:49] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-15 06:55:49] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 06:55:49] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row accessory  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row accessory  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row accessory  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:49] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:49] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:49] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row accessory  
[2026-06-15 06:55:49] local.INFO: Saved type row accessory  
[2026-06-15 06:55:49] local.INFO: Saved type row accessory  
[2026-06-15 06:55:49] local.INFO: Saved type row accessory  
[2026-06-15 06:55:49] local.INFO: Saved type row accessory  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row conditioning  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:55:49] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:49] local.INFO: Saved type row weightlifting  
[2026-06-15 06:55:49] local.INFO: Saved type row strength  
[2026-06-15 06:55:49] local.INFO: Saved type row warmup  
[2026-06-15 06:56:08] local.INFO: mobile login pin : 7825  
[2026-06-15 06:56:18] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[190,189,199,177],"types":["strength","warmup","weightlifting","accessory"]} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177]} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[177,189,190,199],"types":["Accessory","Warmup","Strength","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":47,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":48,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":49,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":50,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:56:18] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:56:19] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":6,"status":1} 
[2026-06-15 06:56:19] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 06:56:19] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":3,"status":1} 
[2026-06-15 06:56:19] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-15 06:56:19] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 06:56:19] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 06:56:19] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 06:57:07] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 06:57:07] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 06:57:07] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 06:57:07] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"reps":5,"set_number":4,"round_number":"4/4","weight":100,"exercise_time":"00:09","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 06:57:07] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-06-15 06:57:07] local.INFO: New weightlifting record created {"workout_manager_id":199,"set_number":4} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[190,189,199,177],"types":["strength","warmup","weightlifting","accessory"]} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177]} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[177,189,190,199],"types":["Accessory","Warmup","Strength","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":47,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":48,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":49,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":50,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":110,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":6,"status":1} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":3,"status":1} 
[2026-06-15 06:57:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-15 06:57:08] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 06:57:08] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 06:58:56] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 06:58:56] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 06:58:56] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 06:58:56] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"reps":5,"set_number":5,"round_number":"5/4","weight":100,"exercise_time":"00:10","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 06:58:56] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":57,"class_id":332,"round_number":"4/4","member_id":9,"weightlifting_id":null,"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"set_number":4,"reps":5,"weight":"100","date":"15/06/26 Monday","created_at":"2026-06-15T06:57:07.000000Z","updated_at":"2026-06-15T06:57:07.000000Z","exercise_time":"00:09","notes":null}} 
[2026-06-15 06:58:56] local.INFO: Weightlifting updated {"workout_manager_id":199,"set_number":5} 
[2026-06-15 06:58:56] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 06:58:56] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 06:58:56] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 06:58:56] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"reps":5,"set_number":6,"round_number":"6/4","weight":100,"exercise_time":"00:10","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 06:58:56] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":57,"class_id":332,"round_number":"5/4","member_id":9,"weightlifting_id":null,"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"set_number":4,"reps":5,"weight":"100","date":"15/06/26 Monday","created_at":"2026-06-15T06:57:07.000000Z","updated_at":"2026-06-15T06:58:56.000000Z","exercise_time":"00:10","notes":null}} 
[2026-06-15 06:58:56] local.INFO: Weightlifting updated {"workout_manager_id":199,"set_number":6} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[190,189,199,177],"types":["strength","warmup","weightlifting","accessory"]} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177]} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[177,189,190,199],"types":["Accessory","Warmup","Strength","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":47,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":48,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":49,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":50,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":110,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":6,"status":1} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":3,"status":1} 
[2026-06-15 06:58:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-15 06:58:56] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 06:58:56] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[190,189,199,177],"types":["strength","warmup","weightlifting","accessory"]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[177,189,190,199],"types":["Accessory","Warmup","Strength","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":47,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":48,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":49,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":50,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":110,"exists":true,"isCompleted":true,"round_number":"6/4","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":6,"status":1} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":3,"status":1} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-15 06:58:57] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 06:58:57] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 06:58:57] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 06:58:57] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 06:58:57] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"reps":5,"set_number":7,"round_number":"7/4","weight":100,"exercise_time":"00:10","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 06:58:57] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":57,"class_id":332,"round_number":"6/4","member_id":9,"weightlifting_id":null,"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"set_number":4,"reps":5,"weight":"100","date":"15/06/26 Monday","created_at":"2026-06-15T06:57:07.000000Z","updated_at":"2026-06-15T06:58:56.000000Z","exercise_time":"00:10","notes":null}} 
[2026-06-15 06:58:57] local.INFO: Weightlifting updated {"workout_manager_id":199,"set_number":7} 
[2026-06-15 06:58:57] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 06:58:57] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 06:58:57] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 06:58:57] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"reps":5,"set_number":8,"round_number":"8/4","weight":100,"exercise_time":"00:10","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 06:58:57] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":57,"class_id":332,"round_number":"7/4","member_id":9,"weightlifting_id":null,"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"set_number":4,"reps":5,"weight":"100","date":"15/06/26 Monday","created_at":"2026-06-15T06:57:07.000000Z","updated_at":"2026-06-15T06:58:57.000000Z","exercise_time":"00:10","notes":null}} 
[2026-06-15 06:58:57] local.INFO: Weightlifting updated {"workout_manager_id":199,"set_number":8} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[190,189,199,177],"types":["strength","warmup","weightlifting","accessory"]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[177,189,190,199],"types":["Accessory","Warmup","Strength","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":47,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":48,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":49,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":50,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":110,"exists":true,"isCompleted":true,"round_number":"8/4","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":6,"status":1} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":3,"status":1} 
[2026-06-15 06:58:57] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-15 06:58:57] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 06:58:57] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 06:58:58] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 06:58:58] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 06:58:58] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 06:58:58] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"reps":5,"set_number":9,"round_number":"9/4","weight":100,"exercise_time":"00:10","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 06:58:58] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":57,"class_id":332,"round_number":"8/4","member_id":9,"weightlifting_id":null,"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"set_number":4,"reps":5,"weight":"100","date":"15/06/26 Monday","created_at":"2026-06-15T06:57:07.000000Z","updated_at":"2026-06-15T06:58:57.000000Z","exercise_time":"00:10","notes":null}} 
[2026-06-15 06:58:58] local.INFO: Weightlifting updated {"workout_manager_id":199,"set_number":9} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[190,189,199,177],"types":["strength","warmup","weightlifting","accessory"]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[177,189,190,199],"types":["Accessory","Warmup","Strength","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":47,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":48,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":49,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":50,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":110,"exists":true,"isCompleted":true,"round_number":"9/4","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":6,"status":1} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":3,"status":1} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-15 06:58:58] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[190,189,199,177],"types":["strength","warmup","weightlifting","accessory"]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[177,189,190,199],"types":["Accessory","Warmup","Strength","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":78,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":78,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":78,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":262,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":263,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":264,"workout_libraries_id":17,"straight_id":78,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T02:40:44.000000Z","updated_at":"2026-06-15T02:40:44.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":47,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":48,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":49,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":50,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":110,"exists":true,"isCompleted":true,"round_number":"9/4","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":6,"status":1} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":3,"completed":3,"status":1} 
[2026-06-15 06:58:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-15 06:58:58] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 06:58:58] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 07:00:30] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 07:00:30] local.INFO: Tab value: all  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row accessory  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:31] local.INFO: Saved type row strength  
[2026-06-15 07:00:31] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row accessory  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row accessory  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row accessory  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:32] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:32] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:32] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row accessory  
[2026-06-15 07:00:32] local.INFO: Saved type row accessory  
[2026-06-15 07:00:32] local.INFO: Saved type row accessory  
[2026-06-15 07:00:32] local.INFO: Saved type row accessory  
[2026-06-15 07:00:32] local.INFO: Saved type row accessory  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:32] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:32] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:32] local.INFO: Saved type row strength  
[2026-06-15 07:00:32] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: assignWorkoutToClass:  {"workout_id":190,"class_id":332,"type":"workout_manager","action":"assign","date":"15/06/26 Monday"} 
[2026-06-15 07:00:36] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 07:00:36] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row accessory  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row accessory  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row accessory  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:36] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:36] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:36] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row accessory  
[2026-06-15 07:00:36] local.INFO: Saved type row accessory  
[2026-06-15 07:00:36] local.INFO: Saved type row accessory  
[2026-06-15 07:00:36] local.INFO: Saved type row accessory  
[2026-06-15 07:00:36] local.INFO: Saved type row accessory  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row conditioning  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:36] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:36] local.INFO: Saved type row weightlifting  
[2026-06-15 07:00:36] local.INFO: Saved type row strength  
[2026-06-15 07:00:36] local.INFO: Saved type row warmup  
[2026-06-15 07:00:44] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[190,189,199,177],"types":["strength","warmup","weightlifting","accessory","conditioning"]} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177]} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[177,189,190,199],"types":["Accessory","Warmup","Conditioning","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":79,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":79,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":79,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":265,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":266,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":267,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":5,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":47,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":48,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":49,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":50,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":110,"exists":true,"isCompleted":true,"round_number":"9/4","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":6,"status":1} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":1,"completed":0,"status":0} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":0,"status":0} 
[2026-06-15 07:00:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-15 07:00:44] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 07:00:44] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 07:01:04] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 07:01:04] local.INFO: Tab value: all  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row accessory  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:05] local.INFO: Saved type row strength  
[2026-06-15 07:01:05] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row accessory  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row accessory  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row accessory  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:06] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:06] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:06] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row accessory  
[2026-06-15 07:01:06] local.INFO: Saved type row accessory  
[2026-06-15 07:01:06] local.INFO: Saved type row accessory  
[2026-06-15 07:01:06] local.INFO: Saved type row accessory  
[2026-06-15 07:01:06] local.INFO: Saved type row accessory  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row conditioning  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 07:01:06] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:06] local.INFO: Saved type row weightlifting  
[2026-06-15 07:01:06] local.INFO: Saved type row strength  
[2026-06-15 07:01:06] local.INFO: Saved type row warmup  
[2026-06-15 10:29:39] local.INFO: Tab value: all  
[2026-06-15 10:29:39] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row accessory  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:40] local.INFO: Saved type row strength  
[2026-06-15 10:29:40] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row accessory  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row accessory  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row accessory  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:41] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:41] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:41] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row accessory  
[2026-06-15 10:29:41] local.INFO: Saved type row accessory  
[2026-06-15 10:29:41] local.INFO: Saved type row accessory  
[2026-06-15 10:29:41] local.INFO: Saved type row accessory  
[2026-06-15 10:29:41] local.INFO: Saved type row accessory  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row conditioning  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 10:29:41] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:41] local.INFO: Saved type row weightlifting  
[2026-06-15 10:29:41] local.INFO: Saved type row strength  
[2026-06-15 10:29:41] local.INFO: Saved type row warmup  
[2026-06-15 11:11:06] local.INFO: mobile login pin : 3333  
[2026-06-15 11:11:30] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyWarmup","workout_format_id":32,"workout_format_type":"intervals"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyWarmup","workout_format_id":33,"workout_format_type":"intervals"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":79,"model":"App\\Models\\DailyWarmup","workout_format_id":34,"workout_format_type":"intervals"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":80,"model":"App\\Models\\DailyWarmup","workout_format_id":35,"workout_format_type":"intervals"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyWarmup","workout_format_id":36,"workout_format_type":"intervals"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":30,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":32,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":33,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":36,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":38,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":40,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":45,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":47,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":49,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":51,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":66,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":67,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":69,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":71,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyStrength","workout_format_id":252,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":41,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":43,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":44,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":84,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":86,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":88,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":109,"format_type":"straight-sets","format_id":241,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-06-15 11:11:31] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17,116],"test_ids":[91,92,93]} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"}}} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[199],"types":["weightlifting"]} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[199]} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[199],"types":["Weightlifting"],"formats":["rounds"]} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116]} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 11:11:38] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-15 11:11:38] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:11:38] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:11:38] local.INFO: Tests retrieved {"count":3,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyWarmup","workout_format_id":32,"workout_format_type":"intervals"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyWarmup","workout_format_id":33,"workout_format_type":"intervals"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":79,"model":"App\\Models\\DailyWarmup","workout_format_id":34,"workout_format_type":"intervals"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":80,"model":"App\\Models\\DailyWarmup","workout_format_id":35,"workout_format_type":"intervals"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyWarmup","workout_format_id":36,"workout_format_type":"intervals"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyStrength","workout_format_id":252,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 11:11:42] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyWarmup","workout_format_id":32,"workout_format_type":"intervals"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyWarmup","workout_format_id":33,"workout_format_type":"intervals"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":79,"model":"App\\Models\\DailyWarmup","workout_format_id":34,"workout_format_type":"intervals"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":80,"model":"App\\Models\\DailyWarmup","workout_format_id":35,"workout_format_type":"intervals"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyWarmup","workout_format_id":36,"workout_format_type":"intervals"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyStrength","workout_format_id":252,"workout_format_type":"straight-sets"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 11:11:46] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[16,17,116],"test_ids":[91,92,93]} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"}}} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[199],"types":["weightlifting"]} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[199]} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[199],"types":["Weightlifting"],"formats":["rounds"]} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116]} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 11:11:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-15 11:11:49] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:11:49] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:11:49] local.INFO: Tests retrieved {"count":3,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17,116,64],"test_ids":[91,92,93,98]} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116,64],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"},"64":{"test_id":98,"weight":250.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 11:12:02"}}} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[199],"types":["weightlifting"]} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[199]} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[199],"types":["Weightlifting"],"formats":["rounds"]} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116,64]} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 11:12:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-15 11:12:02] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:12:02] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:12:02] local.INFO: Tests retrieved {"count":4,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[16,17,116,64],"test_ids":[91,92,93,98,99]} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116,64],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"},"64":{"test_id":99,"weight":250.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 11:12:03"}}} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[199],"types":["weightlifting"]} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[199]} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[199],"types":["Weightlifting"],"formats":["rounds"]} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116,64]} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 11:12:03] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-15 11:12:03] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:12:03] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:12:03] local.INFO: Tests retrieved {"count":5,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":99,"workout_manager_id":201,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:03.000000Z","updated_at":"2026-06-15T11:12:03.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 11:12:07] local.INFO: [deleteTest] Test deleted {"user_id":2,"test_id":99} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17,116,64],"test_ids":[91,92,93,98]} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116,64],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"},"64":{"test_id":98,"weight":250.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 11:12:02"}}} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[199],"types":["weightlifting"]} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[199]} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[199],"types":["Weightlifting"],"formats":["rounds"]} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116,64]} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 11:12:07] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-15 11:12:07] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:12:07] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:12:07] local.INFO: Tests retrieved {"count":4,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 11:12:12] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyWarmup","workout_format_id":32,"workout_format_type":"intervals"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyWarmup","workout_format_id":33,"workout_format_type":"intervals"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":79,"model":"App\\Models\\DailyWarmup","workout_format_id":34,"workout_format_type":"intervals"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":80,"model":"App\\Models\\DailyWarmup","workout_format_id":35,"workout_format_type":"intervals"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyWarmup","workout_format_id":36,"workout_format_type":"intervals"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyStrength","workout_format_id":252,"workout_format_type":"straight-sets"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-15 11:12:12] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17,116,64],"test_ids":[91,92,93,98]} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116,64],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"},"64":{"test_id":98,"weight":250.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 11:12:02"}}} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[199],"types":["weightlifting"]} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[199]} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[199],"types":["Weightlifting"],"formats":["rounds"]} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116,64]} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 11:12:23] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-15 11:12:23] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:12:23] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:12:23] local.INFO: Tests retrieved {"count":4,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17,116,64],"test_ids":[91,92,93,98]} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116,64],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"},"64":{"test_id":98,"weight":250.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 11:12:02"}}} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[199],"types":["weightlifting"]} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[199]} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[199],"types":["Weightlifting"],"formats":["rounds"]} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116,64]} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 11:12:25] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-15 11:12:25] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:12:25] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:12:25] local.INFO: Tests retrieved {"count":4,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 11:12:48] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 11:12:48] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 11:12:48] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-15 11:12:48] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"reps":5,"set_number":1,"round_number":"1/4","weight":100,"exercise_time":"00:04","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":151}]} 
[2026-06-15 11:12:48] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-06-15 11:12:48] local.INFO: New weightlifting record created {"workout_manager_id":199,"set_number":1} 
[2026-06-15 11:12:54] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 11:12:54] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 11:12:54] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-15 11:12:54] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"reps":5,"set_number":2,"round_number":"2/4","weight":100,"exercise_time":"00:11","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":151}]} 
[2026-06-15 11:12:54] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":58,"class_id":151,"round_number":"1/4","member_id":2,"weightlifting_id":null,"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"set_number":1,"reps":5,"weight":"100","date":"15/06/26 Monday","created_at":"2026-06-15T11:12:48.000000Z","updated_at":"2026-06-15T11:12:48.000000Z","exercise_time":"00:04","notes":null}} 
[2026-06-15 11:12:54] local.INFO: Weightlifting updated {"workout_manager_id":199,"set_number":2} 
[2026-06-15 11:13:05] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 11:13:05] local.INFO: storeweightliftingdaily function called.  
[2026-06-15 11:13:05] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-15 11:13:05] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"reps":5,"set_number":4,"round_number":"4/4","weight":100,"exercise_time":"00:22","notes":"Niceee","status":null,"date":"15/06/26 Monday","class_Id":151}]} 
[2026-06-15 11:13:05] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":58,"class_id":151,"round_number":"2/4","member_id":2,"weightlifting_id":null,"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":110,"set_number":1,"reps":5,"weight":"100","date":"15/06/26 Monday","created_at":"2026-06-15T11:12:48.000000Z","updated_at":"2026-06-15T11:12:54.000000Z","exercise_time":"00:11","notes":null}} 
[2026-06-15 11:13:05] local.INFO: Weightlifting updated {"workout_manager_id":199,"set_number":4} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":151,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17,116,64],"test_ids":[91,92,93,98]} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116,64],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"},"64":{"test_id":98,"weight":250.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 11:12:02"}}} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":151,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[199],"types":["weightlifting"]} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[199]} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[199],"types":["Weightlifting"],"formats":["rounds"]} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116,64]} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":110,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:13:05] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-15 11:13:05] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:13:05] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:13:05] local.INFO: Tests retrieved {"count":4,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 11:14:53] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 11:14:53] local.INFO: Tab value: all  
[2026-06-15 11:14:53] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row accessory  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row accessory  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row accessory  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:53] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:53] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:53] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row accessory  
[2026-06-15 11:14:53] local.INFO: Saved type row accessory  
[2026-06-15 11:14:53] local.INFO: Saved type row accessory  
[2026-06-15 11:14:53] local.INFO: Saved type row accessory  
[2026-06-15 11:14:53] local.INFO: Saved type row accessory  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:53] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:53] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:53] local.INFO: Saved type row strength  
[2026-06-15 11:14:53] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row accessory  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row conditioning  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row weightlifting  
[2026-06-15 11:14:54] local.INFO: Saved type row strength  
[2026-06-15 11:14:54] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 11:16:07] local.INFO: Tab value: all  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row accessory  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row accessory  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row accessory  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:07] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:07] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:07] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row accessory  
[2026-06-15 11:16:07] local.INFO: Saved type row accessory  
[2026-06-15 11:16:07] local.INFO: Saved type row accessory  
[2026-06-15 11:16:07] local.INFO: Saved type row accessory  
[2026-06-15 11:16:07] local.INFO: Saved type row accessory  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:07] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:07] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:07] local.INFO: Saved type row strength  
[2026-06-15 11:16:07] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row accessory  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:08] local.INFO: Saved type row strength  
[2026-06-15 11:16:08] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: assignWorkoutToClass:  {"workout_id":202,"class_id":"all","type":"workout_manager","action":"assign_all","date":"15/06/26 Monday"} 
[2026-06-15 11:16:11] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-15 11:16:11] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-15 11:16:11] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row accessory  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row accessory  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row accessory  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:11] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:11] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:11] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row accessory  
[2026-06-15 11:16:11] local.INFO: Saved type row accessory  
[2026-06-15 11:16:11] local.INFO: Saved type row accessory  
[2026-06-15 11:16:11] local.INFO: Saved type row accessory  
[2026-06-15 11:16:11] local.INFO: Saved type row accessory  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row conditioning  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:16:11] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:11] local.INFO: Saved type row weightlifting  
[2026-06-15 11:16:11] local.INFO: Saved type row strength  
[2026-06-15 11:16:11] local.INFO: Saved type row warmup  
[2026-06-15 11:17:41] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 11:17:41] local.INFO: Tab value: all  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row accessory  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:42] local.INFO: Saved type row strength  
[2026-06-15 11:17:42] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row accessory  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row accessory  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row accessory  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:43] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:43] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:43] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row accessory  
[2026-06-15 11:17:43] local.INFO: Saved type row accessory  
[2026-06-15 11:17:43] local.INFO: Saved type row accessory  
[2026-06-15 11:17:43] local.INFO: Saved type row accessory  
[2026-06-15 11:17:43] local.INFO: Saved type row accessory  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:43] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:43] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:43] local.INFO: Saved type row strength  
[2026-06-15 11:17:43] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: assignWorkoutToClass:  {"workout_id":203,"class_id":"all","type":"workout_manager","action":"assign_all","date":"15/06/26 Monday"} 
[2026-06-15 11:17:46] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-15 11:17:46] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-15 11:17:46] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row accessory  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row accessory  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row accessory  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:46] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:46] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:46] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row accessory  
[2026-06-15 11:17:46] local.INFO: Saved type row accessory  
[2026-06-15 11:17:46] local.INFO: Saved type row accessory  
[2026-06-15 11:17:46] local.INFO: Saved type row accessory  
[2026-06-15 11:17:46] local.INFO: Saved type row accessory  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row conditioning  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:17:46] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:46] local.INFO: Saved type row weightlifting  
[2026-06-15 11:17:46] local.INFO: Saved type row strength  
[2026-06-15 11:17:46] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 11:19:55] local.INFO: Tab value: all  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row accessory  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:55] local.INFO: Saved type row strength  
[2026-06-15 11:19:55] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row accessory  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row accessory  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row accessory  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:56] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:56] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:56] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row accessory  
[2026-06-15 11:19:56] local.INFO: Saved type row accessory  
[2026-06-15 11:19:56] local.INFO: Saved type row accessory  
[2026-06-15 11:19:56] local.INFO: Saved type row accessory  
[2026-06-15 11:19:56] local.INFO: Saved type row accessory  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:56] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:56] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:56] local.INFO: Saved type row strength  
[2026-06-15 11:19:56] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: assignWorkoutToClass:  {"workout_id":204,"class_id":"all","type":"workout_manager","action":"assign_all","date":"15/06/26 Monday"} 
[2026-06-15 11:19:59] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-15 11:19:59] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-15 11:19:59] local.INFO: Day received: {"day":"15/06/26 Monday"} 
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row accessory  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row accessory  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row accessory  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:59] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:59] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:59] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row accessory  
[2026-06-15 11:19:59] local.INFO: Saved type row accessory  
[2026-06-15 11:19:59] local.INFO: Saved type row accessory  
[2026-06-15 11:19:59] local.INFO: Saved type row accessory  
[2026-06-15 11:19:59] local.INFO: Saved type row accessory  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row conditioning  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:19:59] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:59] local.INFO: Saved type row weightlifting  
[2026-06-15 11:19:59] local.INFO: Saved type row strength  
[2026-06-15 11:19:59] local.INFO: Saved type row warmup  
[2026-06-15 11:20:11] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17,116,64],"test_ids":[91,92,93,98]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116,64],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"},"64":{"test_id":98,"weight":250.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 11:12:02"}}} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[190,189,199,177,202,203,204],"types":["strength","warmup","weightlifting","accessory","conditioning"]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177,202,203,204]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[177,189,190,199,202,203,204],"types":["Accessory","Warmup","Conditioning","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116,64]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":79,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":79,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":79,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":265,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":266,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":267,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":56,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":56,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T11:16:03.000000Z","updated_at":"2026-06-15T11:16:03.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":56,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":57,"workout_libraries_id":21,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":58,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":58,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":17,"training_load":78,"unit_type":"RPE","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T11:16:03.000000Z","updated_at":"2026-06-15T11:16:03.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":58,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":59,"workout_libraries_id":26,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":203,"relation":"straights","format_row_id":80,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":80,"workout_manager_id":203,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":1,"created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":80,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":268,"workout_libraries_id":17,"straight_id":80,"res":1,"training_load":80,"unittype":"Kg","created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":269,"workout_libraries_id":17,"straight_id":80,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"}]}} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":204,"relation":"emoms","format_row_id":40,"workout_libraries_id":16,"attached_test_id":91,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":40,"workout_manager_id":204,"workout_libraries_id":16,"training_load":90,"unit_type":"Cal","gender":null,"reps":null,"created_at":"2026-06-15T11:19:52.000000Z","updated_at":"2026-06-15T11:19:52.000000Z","exercise_time":"1","test_weight":165.0,"test_unit_type":"kg","test_id":91,"test_created_at":"2026-06-15 01:51:50","format_row_id":40,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":41,"workout_libraries_id":21,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":16,"rows_with_lib_id":16,"rows_matched":8,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":6},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":7},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":10,"matched":4,"not_matched":6,"empty":5},"emoms":{"seen":3,"matched":1,"not_matched":2,"empty":5},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":9,"completed":0,"status":0} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":0,"status":0} 
[2026-06-15 11:20:11] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-15 11:20:11] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:20:11] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:20:11] local.INFO: Tests retrieved {"count":4,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 11:20:26] local.INFO: storewarmupdaily function called.  
[2026-06-15 11:20:26] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-15 11:20:26] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":203,"workout_format_type":"straight-sets","workout_format_id":268,"reps":1,"weight":132,"date":"15/06/26 Monday","set_number":1,"class_Id":332}]} 
[2026-06-15 11:20:26] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-15 11:20:26] local.INFO: New warm-up created {"workout_manager_id":203,"workout_format_type":"straight-sets","workout_format_id":268,"round_number":null} 
[2026-06-15 11:23:28] local.INFO: storewarmupdaily function called.  
[2026-06-15 11:23:28] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-15 11:23:28] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":56,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 11:23:28] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-15 11:23:28] local.INFO: New warm-up created {"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":56,"round_number":null} 
[2026-06-15 11:23:59] local.INFO: storewarmupdaily function called.  
[2026-06-15 11:23:59] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-15 11:23:59] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":57,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 11:23:59] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-15 11:23:59] local.INFO: New warm-up created {"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":57,"round_number":null} 
[2026-06-15 11:24:29] local.INFO: storewarmupdaily function called.  
[2026-06-15 11:24:29] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-15 11:24:29] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":58,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 11:24:29] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-15 11:24:29] local.INFO: New warm-up created {"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":58,"round_number":null} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:25:00] local.INFO: storewarmupdaily function called.  
[2026-06-15 11:25:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:25:00] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-15 11:25:00] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":59,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":4,"library_ids":[16,17,116,64],"test_ids":[91,92,93,98]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[16,17,116,64],"testMap_sample":{"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"116":{"test_id":93,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:23:31"},"64":{"test_id":98,"weight":250.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 11:12:02"}}} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[190,189,199,177,202,203,204],"types":["strength","warmup","weightlifting","accessory","conditioning"]} 
[2026-06-15 11:25:00] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-15 11:25:00] local.INFO: New warm-up created {"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":59,"round_number":null} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177,202,203,204]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[177,189,190,199,202,203,204],"types":["Accessory","Warmup","Conditioning","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[16,17,116,64]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":79,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":79,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":79,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":265,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":266,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":267,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":56,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":56,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T11:16:03.000000Z","updated_at":"2026-06-15T11:16:03.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":56,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":57,"workout_libraries_id":21,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":58,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":58,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":17,"training_load":78,"unit_type":"RPE","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T11:16:03.000000Z","updated_at":"2026-06-15T11:16:03.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":58,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":59,"workout_libraries_id":26,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":203,"relation":"straights","format_row_id":80,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":80,"workout_manager_id":203,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":1,"created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":80,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":268,"workout_libraries_id":17,"straight_id":80,"res":1,"training_load":80,"unittype":"Kg","created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":269,"workout_libraries_id":17,"straight_id":80,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"}]}} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":204,"relation":"emoms","format_row_id":40,"workout_libraries_id":16,"attached_test_id":91,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":40,"workout_manager_id":204,"workout_libraries_id":16,"training_load":90,"unit_type":"Cal","gender":null,"reps":null,"created_at":"2026-06-15T11:19:52.000000Z","updated_at":"2026-06-15T11:19:52.000000Z","exercise_time":"1","test_weight":165.0,"test_unit_type":"kg","test_id":91,"test_created_at":"2026-06-15 01:51:50","format_row_id":40,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":41,"workout_libraries_id":21,"available_test_library_ids":[16,17,116,64]} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":16,"rows_with_lib_id":16,"rows_matched":8,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":6},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":7},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":10,"matched":4,"not_matched":6,"empty":5},"emoms":{"seen":3,"matched":1,"not_matched":2,"empty":5},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":202,"workout_format_id":56,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":202,"workout_format_id":57,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":202,"workout_format_id":58,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":202,"workout_format_id":59,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":9,"completed":5,"status":0} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":0,"status":0} 
[2026-06-15 11:25:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-15 11:25:00] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:25:00] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:25:00] local.INFO: Tests retrieved {"count":4,"tests":[{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-15 11:25:32] local.INFO: storewarmupdaily function called.  
[2026-06-15 11:25:32] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-15 11:25:32] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":189,"workout_format_type":"emom","workout_format_id":39,"reps":0,"set_number":1,"round_number":"1/3","weight":100,"exercise_time":"02:00","notes":null,"status":"completed","date":"15/06/26 Monday","class_Id":332}]} 
[2026-06-15 11:25:32] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-15 11:25:32] local.INFO: New warm-up created {"workout_manager_id":189,"workout_format_type":"emom","workout_format_id":39,"round_number":"1/3"} 
[2026-06-15 11:32:22] local.INFO: mobile login pin : 7825  
[2026-06-15 11:32:27] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[190,189,199,177,202,203,204],"types":["strength","warmup","weightlifting","accessory","conditioning"]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177,202,203,204]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[177,189,190,199,202,203,204],"types":["Accessory","Warmup","Conditioning","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":79,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":79,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":79,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":265,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":266,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":267,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":56,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":56,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T11:16:03.000000Z","updated_at":"2026-06-15T11:16:03.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":56,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":57,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":58,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":58,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":17,"training_load":78,"unit_type":"RPE","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T11:16:03.000000Z","updated_at":"2026-06-15T11:16:03.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":58,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":59,"workout_libraries_id":26,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":203,"relation":"straights","format_row_id":80,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":80,"workout_manager_id":203,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":1,"created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":80,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":268,"workout_libraries_id":17,"straight_id":80,"res":1,"training_load":80,"unittype":"Kg","created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":269,"workout_libraries_id":17,"straight_id":80,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"}]}} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":40,"workout_libraries_id":16,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":41,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":16,"rows_with_lib_id":16,"rows_matched":8,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":6},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":7},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":10,"matched":5,"not_matched":5,"empty":5},"emoms":{"seen":3,"matched":0,"not_matched":3,"empty":5},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":47,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":48,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":49,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":50,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":110,"exists":true,"isCompleted":true,"round_number":"9/4","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":6,"status":1} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":9,"completed":0,"status":0} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":0,"status":0} 
[2026-06-15 11:32:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-15 11:32:27] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:32:27] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 11:33:04] local.INFO: storeconditioningdaily function called.  
[2026-06-15 11:33:04] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 11:33:04] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":265,"reps":4,"weight":132,"date":"15/06/26 Monday","set_number":1,"class_Id":332}]} 
[2026-06-15 11:33:04] local.INFO: Conditioning saved successfully {"workout_manager_id":190} 
[2026-06-15 11:33:25] local.INFO: storeconditioningdaily function called.  
[2026-06-15 11:33:25] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-15 11:33:25] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":190,"workout_format_type":"straight-sets","workout_format_id":266,"reps":4,"weight":132,"date":"15/06/26 Monday","set_number":2,"class_Id":332}]} 
[2026-06-15 11:33:25] local.INFO: Conditioning saved successfully {"workout_manager_id":190} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[190,189,199,177,202,203,204],"types":["strength","warmup","weightlifting","accessory","conditioning"]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177,202,203,204]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[177,189,190,199,202,203,204],"types":["Accessory","Warmup","Conditioning","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":79,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":79,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":79,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":265,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":266,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":267,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":56,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":56,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T11:16:03.000000Z","updated_at":"2026-06-15T11:16:03.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":56,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":57,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":58,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":58,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":17,"training_load":78,"unit_type":"RPE","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T11:16:03.000000Z","updated_at":"2026-06-15T11:16:03.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":58,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":59,"workout_libraries_id":26,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":203,"relation":"straights","format_row_id":80,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":80,"workout_manager_id":203,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":1,"created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":80,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":268,"workout_libraries_id":17,"straight_id":80,"res":1,"training_load":80,"unittype":"Kg","created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":269,"workout_libraries_id":17,"straight_id":80,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"}]}} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":40,"workout_libraries_id":16,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":41,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":16,"rows_with_lib_id":16,"rows_matched":8,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":6},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":7},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":10,"matched":5,"not_matched":5,"empty":5},"emoms":{"seen":3,"matched":0,"not_matched":3,"empty":5},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":47,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":48,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":49,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":50,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":110,"exists":true,"isCompleted":true,"round_number":"9/4","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":6,"status":1} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":9,"completed":0,"status":0} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":2,"status":0} 
[2026-06-15 11:33:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-15 11:33:35] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:33:35] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 11:33:41] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":98,"model":"App\\Models\\DailyStrength","workout_format_id":35,"workout_format_type":"emom"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyStrength","workout_format_id":256,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyStrength","workout_format_id":259,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":109,"model":"App\\Models\\DailyStrength","workout_format_id":260,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":110,"model":"App\\Models\\DailyStrength","workout_format_id":257,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":111,"model":"App\\Models\\DailyStrength","workout_format_id":262,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":112,"model":"App\\Models\\DailyStrength","workout_format_id":263,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":113,"model":"App\\Models\\DailyStrength","workout_format_id":264,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":105,"format_type":"straight-sets","format_id":246,"library_id":17,"type":"Strength","weight":"132"} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":57,"format_type":"rounds","format_id":110,"library_id":17,"type":"Weightlifting","weight":"100"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"emom"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyConditioning","workout_format_id":25,"workout_format_type":"intervals"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":99,"model":"App\\Models\\DailyConditioning","workout_format_id":27,"workout_format_type":"intervals"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":101,"model":"App\\Models\\DailyConditioning","workout_format_id":70,"workout_format_type":"amrap"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":110,"format_type":"straight-sets","format_id":242,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":115,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":117,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":118,"format_type":"straight-sets","format_id":265,"library_id":17,"type":"Conditioning","weight":"132"} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":119,"format_type":"straight-sets","format_id":266,"library_id":17,"type":"Conditioning","weight":"132"} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":16,"format_type":"intervals","format_id":45,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-15 11:33:42] local.INFO: Debug record {"daily_id":21,"format_type":"intervals","format_id":50,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"15/06/26 Monday","date_obj":"2026-06-15"} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":332,"date_string":"15/06/26 Monday","patterns":["15/06/26 Monday","15/06/26","15/06/2026","15/06/26 Monday","15/06/2026 Monday","Monday 15/06/26","Monday 15/06/2026"]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":5,"library_ids":[17,32,56],"test_ids":[90,94,95,96,97]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,32,56],"testMap_sample":{"17":{"test_id":90,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-14 22:03:36"},"32":{"test_id":94,"weight":60.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:37:29"},"56":{"test_id":97,"weight":15.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 04:11:16"}}} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":332,"date_string":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":8,"workout_ids":[190,189,199,177,202,203,204],"types":["strength","warmup","weightlifting","accessory","conditioning"]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[190,189,199,177,202,203,204]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":7,"ids":[177,189,190,199,202,203,204],"types":["Accessory","Warmup","Conditioning","Weightlifting"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,32,56]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":189,"relation":"emoms","format_row_id":39,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":190,"relation":"straights","format_row_id":79,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":79,"workout_manager_id":190,"workout_libraries_id":17,"training_load":80,"unit_type":"%","reps":4,"created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":79,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":265,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":266,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"},{"id":267,"workout_libraries_id":17,"straight_id":79,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-15T07:00:28.000000Z","updated_at":"2026-06-15T07:00:28.000000Z","restred":"00:01:30","restyellow":"00:02:00","restgreen":"00:01:00"}]}} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":199,"relation":"rounds","format_row_id":110,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":110,"workout_manager_id":199,"workout_libraries_id":17,"training_load":100,"unit_type":"Kg","gender":null,"reps":5,"created_at":"2026-06-15T06:55:38.000000Z","updated_at":"2026-06-15T06:55:38.000000Z","is_for_time":1,"time_to_complete":"00:06:00","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":110,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":56,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":56,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T11:16:03.000000Z","updated_at":"2026-06-15T11:16:03.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":56,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":57,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":58,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":58,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":17,"training_load":78,"unit_type":"RPE","gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T11:16:03.000000Z","updated_at":"2026-06-15T11:16:03.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":58,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":59,"workout_libraries_id":26,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":203,"relation":"straights","format_row_id":80,"workout_libraries_id":17,"attached_test_id":90,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":80,"workout_manager_id":203,"workout_libraries_id":17,"training_load":80,"unit_type":"Kg","reps":1,"created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":90,"test_created_at":"2026-06-14 22:03:36","format_row_id":80,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":268,"workout_libraries_id":17,"straight_id":80,"res":1,"training_load":80,"unittype":"Kg","created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":269,"workout_libraries_id":17,"straight_id":80,"res":2,"training_load":80,"unittype":"Kg","created_at":"2026-06-15T11:17:39.000000Z","updated_at":"2026-06-15T11:17:39.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"}]}} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":40,"workout_libraries_id":16,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":41,"workout_libraries_id":21,"available_test_library_ids":[17,32,56]} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":16,"rows_with_lib_id":16,"rows_matched":8,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":1,"not_matched":0,"empty":6},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":7},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":7},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":7},"intervals":{"seen":10,"matched":5,"not_matched":5,"empty":5},"emoms":{"seen":3,"matched":0,"not_matched":3,"empty":5},"straights":{"seen":2,"matched":2,"not_matched":0,"empty":5},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":7},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":7}}} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":45,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":47,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":48,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":49,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":177,"workout_format_id":50,"exists":true,"isCompleted":true,"round_number":"","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":189,"workout_format_id":39,"exists":true,"isCompleted":false,"round_number":"2/3","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":110,"exists":true,"isCompleted":true,"round_number":"9/4","query_date":"15/06/26 Monday","db_date":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":6,"status":1} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":9,"completed":0,"status":0} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":2,"status":0} 
[2026-06-15 11:34:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-15 11:34:27] local.INFO: Day received (raw): {"day":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: Day received (sanitized): {"day":"15/06/26 Monday"} 
[2026-06-15 11:34:27] local.INFO: Tests retrieved {"count":5,"tests":[{"id":90,"workout_manager_id":191,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-14T22:03:36.000000Z","updated_at":"2026-06-14T22:03:36.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":95,"workout_manager_id":196,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":96,"workout_manager_id":197,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:15.000000Z","updated_at":"2026-06-15T04:11:15.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-15 22:54:41] local.INFO: Tab value: all  
[2026-06-15 22:54:41] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row accessory  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row accessory  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row accessory  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:42] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:42] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:42] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row accessory  
[2026-06-15 22:54:42] local.INFO: Saved type row accessory  
[2026-06-15 22:54:42] local.INFO: Saved type row accessory  
[2026-06-15 22:54:42] local.INFO: Saved type row accessory  
[2026-06-15 22:54:42] local.INFO: Saved type row accessory  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:42] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:42] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:42] local.INFO: Saved type row strength  
[2026-06-15 22:54:42] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row accessory  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row conditioning  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row weightlifting  
[2026-06-15 22:54:43] local.INFO: Saved type row strength  
[2026-06-15 22:54:43] local.INFO: Saved type row warmup  
[2026-06-16 01:56:35] local.INFO: Tab value: all  
[2026-06-16 01:56:35] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row accessory  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row accessory  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row accessory  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:36] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:36] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:36] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row accessory  
[2026-06-16 01:56:36] local.INFO: Saved type row accessory  
[2026-06-16 01:56:36] local.INFO: Saved type row accessory  
[2026-06-16 01:56:36] local.INFO: Saved type row accessory  
[2026-06-16 01:56:36] local.INFO: Saved type row accessory  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:36] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:36] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:36] local.INFO: Saved type row strength  
[2026-06-16 01:56:36] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row accessory  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row conditioning  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row weightlifting  
[2026-06-16 01:56:37] local.INFO: Saved type row strength  
[2026-06-16 01:56:37] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 01:57:00] local.INFO: Tab value: all  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row accessory  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:00] local.INFO: Saved type row strength  
[2026-06-16 01:57:00] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row accessory  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row accessory  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row accessory  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:01] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:01] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:01] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row accessory  
[2026-06-16 01:57:01] local.INFO: Saved type row accessory  
[2026-06-16 01:57:01] local.INFO: Saved type row accessory  
[2026-06-16 01:57:01] local.INFO: Saved type row accessory  
[2026-06-16 01:57:01] local.INFO: Saved type row accessory  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:01] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:01] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:01] local.INFO: Saved type row strength  
[2026-06-16 01:57:01] local.INFO: Saved type row warmup  
[2026-06-16 01:57:04] local.INFO: assignWorkoutToClass:  {"workout_id":204,"class_id":333,"type":"workout_manager","action":"assign","date":"16/06/26 Tuesday"} 
[2026-06-16 01:57:04] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row accessory  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row accessory  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row accessory  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:05] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:05] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:05] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row accessory  
[2026-06-16 01:57:05] local.INFO: Saved type row accessory  
[2026-06-16 01:57:05] local.INFO: Saved type row accessory  
[2026-06-16 01:57:05] local.INFO: Saved type row accessory  
[2026-06-16 01:57:05] local.INFO: Saved type row accessory  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:05] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:05] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:05] local.INFO: Saved type row strength  
[2026-06-16 01:57:05] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 01:57:39] local.INFO: Tab value: all  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row accessory  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row accessory  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row accessory  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:39] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:39] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:39] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row accessory  
[2026-06-16 01:57:39] local.INFO: Saved type row accessory  
[2026-06-16 01:57:39] local.INFO: Saved type row accessory  
[2026-06-16 01:57:39] local.INFO: Saved type row accessory  
[2026-06-16 01:57:39] local.INFO: Saved type row accessory  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:39] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:39] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:39] local.INFO: Saved type row strength  
[2026-06-16 01:57:39] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row accessory  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:40] local.INFO: Saved type row strength  
[2026-06-16 01:57:40] local.INFO: Saved type row warmup  
[2026-06-16 01:57:44] local.INFO: assignWorkoutToClass:  {"workout_id":203,"class_id":333,"type":"workout_manager","action":"assign","date":"16/06/26 Tuesday"} 
[2026-06-16 01:57:44] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 01:57:44] local.INFO: Saved type row warmup  
[2026-06-16 01:57:44] local.INFO: Saved type row strength  
[2026-06-16 01:57:44] local.INFO: Saved type row warmup  
[2026-06-16 01:57:44] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row accessory  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row accessory  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row accessory  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:45] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:45] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:45] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row accessory  
[2026-06-16 01:57:45] local.INFO: Saved type row accessory  
[2026-06-16 01:57:45] local.INFO: Saved type row accessory  
[2026-06-16 01:57:45] local.INFO: Saved type row accessory  
[2026-06-16 01:57:45] local.INFO: Saved type row accessory  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row conditioning  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:57:45] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:45] local.INFO: Saved type row weightlifting  
[2026-06-16 01:57:45] local.INFO: Saved type row strength  
[2026-06-16 01:57:45] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Tab value: all  
[2026-06-16 01:59:20] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row accessory  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row accessory  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row accessory  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row accessory  
[2026-06-16 01:59:20] local.INFO: Saved type row accessory  
[2026-06-16 01:59:20] local.INFO: Saved type row accessory  
[2026-06-16 01:59:20] local.INFO: Saved type row accessory  
[2026-06-16 01:59:20] local.INFO: Saved type row accessory  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:20] local.INFO: Saved type row strength  
[2026-06-16 01:59:20] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row accessory  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:21] local.INFO: Saved type row strength  
[2026-06-16 01:59:21] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: assignWorkoutToClass:  {"workout_id":202,"class_id":333,"type":"workout_manager","action":"assign","date":"16/06/26 Tuesday"} 
[2026-06-16 01:59:27] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row accessory  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row accessory  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row accessory  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:27] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:27] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:27] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row accessory  
[2026-06-16 01:59:27] local.INFO: Saved type row accessory  
[2026-06-16 01:59:27] local.INFO: Saved type row accessory  
[2026-06-16 01:59:27] local.INFO: Saved type row accessory  
[2026-06-16 01:59:27] local.INFO: Saved type row accessory  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:27] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:27] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:27] local.INFO: Saved type row strength  
[2026-06-16 01:59:27] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 01:59:59] local.INFO: Tab value: all  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row accessory  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row accessory  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row accessory  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:59] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:59] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:59] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row accessory  
[2026-06-16 01:59:59] local.INFO: Saved type row accessory  
[2026-06-16 01:59:59] local.INFO: Saved type row accessory  
[2026-06-16 01:59:59] local.INFO: Saved type row accessory  
[2026-06-16 01:59:59] local.INFO: Saved type row accessory  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row conditioning  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 01:59:59] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:59] local.INFO: Saved type row weightlifting  
[2026-06-16 01:59:59] local.INFO: Saved type row strength  
[2026-06-16 01:59:59] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row accessory  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:00] local.INFO: Saved type row strength  
[2026-06-16 02:00:00] local.INFO: Saved type row warmup  
[2026-06-16 02:00:57] local.INFO: assignWorkoutToClass:  {"workout_id":199,"class_id":333,"type":"workout_manager","action":"assign","date":"16/06/26 Tuesday"} 
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row accessory  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row accessory  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row accessory  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:58] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:58] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:58] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row accessory  
[2026-06-16 02:00:58] local.INFO: Saved type row accessory  
[2026-06-16 02:00:58] local.INFO: Saved type row accessory  
[2026-06-16 02:00:58] local.INFO: Saved type row accessory  
[2026-06-16 02:00:58] local.INFO: Saved type row accessory  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row conditioning  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:58] local.INFO: Saved type row weightlifting  
[2026-06-16 02:00:58] local.INFO: Saved type row strength  
[2026-06-16 02:00:58] local.INFO: Saved type row warmup  
[2026-06-16 02:00:58] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:01:06] local.INFO: mobile login pin : 7825  
[2026-06-16 02:01:15] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:01:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/06/26 Tuesday","date_obj":"2026-06-16"} 
[2026-06-16 02:01:15] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday","patterns":["16/06/26 Tuesday","16/06/26","16/06/2026","16/06/26 Tuesday","16/06/2026 Tuesday","Tuesday 16/06/26","Tuesday 16/06/2026"]} 
[2026-06-16 02:01:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[204,203,202,199],"types":["warmup","strength","conditioning","weightlifting"]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[204,203,202,199]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[199,202,203,204],"types":["Weightlifting","Conditioning","Strength","Warmup"],"formats":["rounds","intervals","straight-sets","emom"]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":199,"relation":"rounds","format_row_id":111,"workout_libraries_id":43,"available_test_library_ids":[]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":60,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":61,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":62,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":203,"relation":"straights","format_row_id":81,"workout_libraries_id":118,"available_test_library_ids":[]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":43,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":0,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":0,"status":0} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-16 02:01:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":0,"status":0} 
[2026-06-16 02:01:16] local.INFO: Day received (raw): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:01:16] local.INFO: Day received (sanitized): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:01:16] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-16 02:02:39] local.INFO: storewarmupdaily function called.  
[2026-06-16 02:02:39] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:02:39] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":204,"workout_format_type":"emom","workout_format_id":42,"reps":0,"set_number":1,"round_number":"1/5","weight":null,"exercise_time":"01:00","notes":null,"status":"incompleted","date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:02:39] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-16 02:02:39] local.INFO: New warm-up created {"workout_manager_id":204,"workout_format_type":"emom","workout_format_id":42,"round_number":"1/5"} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/06/26 Tuesday","date_obj":"2026-06-16"} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday","patterns":["16/06/26 Tuesday","16/06/26","16/06/2026","16/06/26 Tuesday","16/06/2026 Tuesday","Tuesday 16/06/26","Tuesday 16/06/2026"]} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[118],"test_ids":[100]} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118],"testMap_sample":{"118":{"test_id":100,"weight":110.0,"unit_type":"kg","date":"16/06/26 Tuesday","test_created_at":"2026-06-16 02:05:38"}}} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[204,203,202,199],"types":["warmup","strength","conditioning","weightlifting"]} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[204,203,202,199]} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[199,202,203,204],"types":["Weightlifting","Conditioning","Strength","Warmup"],"formats":["rounds","intervals","straight-sets","emom"]} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118]} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":199,"relation":"rounds","format_row_id":111,"workout_libraries_id":43,"available_test_library_ids":[118]} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":60,"workout_libraries_id":17,"available_test_library_ids":[118]} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":61,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":62,"workout_libraries_id":23,"available_test_library_ids":[118]} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":203,"relation":"straights","format_row_id":81,"workout_libraries_id":118,"attached_test_id":100,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":81,"workout_manager_id":203,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","test_weight":110.0,"test_unit_type":"kg","test_id":100,"test_created_at":"2026-06-16 02:05:38","format_row_id":81,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":270,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":271,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":272,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":273,"workout_libraries_id":118,"straight_id":81,"res":null,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"}]}} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[118]} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":43,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":204,"workout_format_id":42,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":0,"status":0} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-16 02:05:39] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":0,"status":0} 
[2026-06-16 02:05:39] local.INFO: Day received (raw): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:05:39] local.INFO: Day received (sanitized): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:05:39] local.INFO: Tests retrieved {"count":1,"tests":[{"id":100,"workout_manager_id":205,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"16/06/26 Tuesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-16T02:05:38.000000Z","updated_at":"2026-06-16T02:05:38.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-16 02:06:01] local.INFO: storestrengthdaily function called.  
[2026-06-16 02:06:01] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:06:01] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":203,"workout_format_type":"straight-sets","workout_format_id":270,"reps":5,"weight":88,"date":"16/06/26 Tuesday","set_number":1,"class_Id":333}]} 
[2026-06-16 02:06:01] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-16 02:06:01] local.INFO: New strength record created {"workout_manager_id":203,"set_number":1} 
[2026-06-16 02:06:18] local.INFO: storestrengthdaily function called.  
[2026-06-16 02:06:18] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:06:18] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":203,"workout_format_type":"straight-sets","workout_format_id":271,"reps":5,"weight":88,"date":"16/06/26 Tuesday","set_number":2,"class_Id":333}]} 
[2026-06-16 02:06:18] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-16 02:06:18] local.INFO: New strength record created {"workout_manager_id":203,"set_number":2} 
[2026-06-16 02:06:37] local.INFO: storeweightliftingdaily function called.  
[2026-06-16 02:06:37] local.INFO: storeweightliftingdaily function called.  
[2026-06-16 02:06:37] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:06:37] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":111,"reps":5,"set_number":1,"round_number":"1/4","weight":5,"exercise_time":"00:00","notes":null,"status":null,"date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:06:37] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-06-16 02:06:37] local.INFO: New weightlifting record created {"workout_manager_id":199,"set_number":1} 
[2026-06-16 02:07:00] local.INFO: storeweightliftingdaily function called.  
[2026-06-16 02:07:00] local.INFO: storeweightliftingdaily function called.  
[2026-06-16 02:07:00] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:07:00] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":111,"reps":5,"set_number":2,"round_number":"2/4","weight":5,"exercise_time":"00:07","notes":null,"status":null,"date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:07:00] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":59,"class_id":333,"round_number":"1/4","member_id":9,"weightlifting_id":null,"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":111,"set_number":1,"reps":5,"weight":"5","date":"16/06/26 Tuesday","created_at":"2026-06-16T02:06:37.000000Z","updated_at":"2026-06-16T02:06:37.000000Z","exercise_time":"00:00","notes":null}} 
[2026-06-16 02:07:00] local.INFO: Weightlifting updated {"workout_manager_id":199,"set_number":2} 
[2026-06-16 02:07:02] local.INFO: storeweightliftingdaily function called.  
[2026-06-16 02:07:02] local.INFO: storeweightliftingdaily function called.  
[2026-06-16 02:07:02] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:07:02] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":111,"reps":5,"set_number":3,"round_number":"3/4","weight":5,"exercise_time":"00:10","notes":null,"status":null,"date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:07:02] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":59,"class_id":333,"round_number":"2/4","member_id":9,"weightlifting_id":null,"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":111,"set_number":1,"reps":5,"weight":"5","date":"16/06/26 Tuesday","created_at":"2026-06-16T02:06:37.000000Z","updated_at":"2026-06-16T02:07:00.000000Z","exercise_time":"00:07","notes":null}} 
[2026-06-16 02:07:02] local.INFO: Weightlifting updated {"workout_manager_id":199,"set_number":3} 
[2026-06-16 02:07:05] local.INFO: storeweightliftingdaily function called.  
[2026-06-16 02:07:05] local.INFO: storeweightliftingdaily function called.  
[2026-06-16 02:07:05] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:07:05] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":111,"reps":5,"set_number":4,"round_number":"4/4","weight":5,"exercise_time":"00:13","notes":null,"status":null,"date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:07:05] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":59,"class_id":333,"round_number":"3/4","member_id":9,"weightlifting_id":null,"workout_manager_id":199,"workout_format_type":"rounds","workout_format_id":111,"set_number":1,"reps":5,"weight":"5","date":"16/06/26 Tuesday","created_at":"2026-06-16T02:06:37.000000Z","updated_at":"2026-06-16T02:07:02.000000Z","exercise_time":"00:10","notes":null}} 
[2026-06-16 02:07:05] local.INFO: Weightlifting updated {"workout_manager_id":199,"set_number":4} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/06/26 Tuesday","date_obj":"2026-06-16"} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday","patterns":["16/06/26 Tuesday","16/06/26","16/06/2026","16/06/26 Tuesday","16/06/2026 Tuesday","Tuesday 16/06/26","Tuesday 16/06/2026"]} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[118],"test_ids":[100]} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118],"testMap_sample":{"118":{"test_id":100,"weight":110.0,"unit_type":"kg","date":"16/06/26 Tuesday","test_created_at":"2026-06-16 02:05:38"}}} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[204,203,202,199],"types":["warmup","strength","conditioning","weightlifting"]} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[204,203,202,199]} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[199,202,203,204],"types":["Weightlifting","Conditioning","Strength","Warmup"],"formats":["rounds","intervals","straight-sets","emom"]} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118]} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":199,"relation":"rounds","format_row_id":111,"workout_libraries_id":43,"available_test_library_ids":[118]} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":60,"workout_libraries_id":17,"available_test_library_ids":[118]} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":61,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":62,"workout_libraries_id":23,"available_test_library_ids":[118]} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":203,"relation":"straights","format_row_id":81,"workout_libraries_id":118,"attached_test_id":100,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":81,"workout_manager_id":203,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","test_weight":110.0,"test_unit_type":"kg","test_id":100,"test_created_at":"2026-06-16 02:05:38","format_row_id":81,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":270,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":271,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":272,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":273,"workout_libraries_id":118,"straight_id":81,"res":null,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"}]}} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[118]} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":43,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-16 02:07:05] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":111,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:07:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":204,"workout_format_id":42,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:07:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-16 02:07:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":0,"status":0} 
[2026-06-16 02:07:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":2,"status":0} 
[2026-06-16 02:07:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":0,"status":0} 
[2026-06-16 02:07:06] local.INFO: Day received (raw): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:07:06] local.INFO: Day received (sanitized): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:07:06] local.INFO: Tests retrieved {"count":1,"tests":[{"id":100,"workout_manager_id":205,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"16/06/26 Tuesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-16T02:05:38.000000Z","updated_at":"2026-06-16T02:05:38.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-16 02:07:54] local.INFO: storeconditioningdaily function called.  
[2026-06-16 02:07:54] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:07:54] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":60,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:07:54] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-16 02:08:24] local.INFO: storeconditioningdaily function called.  
[2026-06-16 02:08:24] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:08:24] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":61,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:08:24] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-16 02:08:55] local.INFO: storeconditioningdaily function called.  
[2026-06-16 02:08:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:08:55] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":62,"reps":0,"set_number":3,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:08:55] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/06/26 Tuesday","date_obj":"2026-06-16"} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday","patterns":["16/06/26 Tuesday","16/06/26","16/06/2026","16/06/26 Tuesday","16/06/2026 Tuesday","Tuesday 16/06/26","Tuesday 16/06/2026"]} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[118],"test_ids":[100]} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118],"testMap_sample":{"118":{"test_id":100,"weight":110.0,"unit_type":"kg","date":"16/06/26 Tuesday","test_created_at":"2026-06-16 02:05:38"}}} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[204,203,202,199],"types":["warmup","strength","conditioning","weightlifting"]} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[204,203,202,199]} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[199,202,203,204],"types":["Weightlifting","Conditioning","Strength","Warmup"],"formats":["rounds","intervals","straight-sets","emom"]} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118]} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":199,"relation":"rounds","format_row_id":111,"workout_libraries_id":43,"available_test_library_ids":[118]} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":60,"workout_libraries_id":17,"available_test_library_ids":[118]} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":61,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":62,"workout_libraries_id":23,"available_test_library_ids":[118]} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":203,"relation":"straights","format_row_id":81,"workout_libraries_id":118,"attached_test_id":100,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":81,"workout_manager_id":203,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","test_weight":110.0,"test_unit_type":"kg","test_id":100,"test_created_at":"2026-06-16 02:05:38","format_row_id":81,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":270,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":271,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":272,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":273,"workout_libraries_id":118,"straight_id":81,"res":null,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"}]}} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[118]} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":43,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":7,"rows_with_lib_id":7,"rows_matched":1,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":3,"matched":0,"not_matched":3,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":111,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":60,"exists":true,"isCompleted":true,"round_number":"","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":61,"exists":true,"isCompleted":true,"round_number":"","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":62,"exists":true,"isCompleted":true,"round_number":"","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":204,"workout_format_id":42,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":3,"completed":3,"status":1} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":2,"status":0} 
[2026-06-16 02:08:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":0,"status":0} 
[2026-06-16 02:08:55] local.INFO: Day received (raw): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:08:55] local.INFO: Day received (sanitized): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:08:55] local.INFO: Tests retrieved {"count":1,"tests":[{"id":100,"workout_manager_id":205,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"16/06/26 Tuesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-16T02:05:38.000000Z","updated_at":"2026-06-16T02:05:38.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-16 02:09:24] local.INFO: storewarmupdaily function called.  
[2026-06-16 02:09:24] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:09:24] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":204,"workout_format_type":"emom","workout_format_id":43,"reps":0,"set_number":1,"round_number":"1/5","weight":200,"exercise_time":"01:00","notes":null,"status":"incompleted","date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:09:24] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-16 02:09:24] local.INFO: New warm-up created {"workout_manager_id":204,"workout_format_type":"emom","workout_format_id":43,"round_number":"1/5"} 
[2026-06-16 02:10:01] local.INFO: Tab value: all  
[2026-06-16 02:10:01] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row accessory  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:02] local.INFO: Saved type row strength  
[2026-06-16 02:10:02] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row accessory  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row accessory  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row accessory  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:03] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:03] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:03] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row accessory  
[2026-06-16 02:10:03] local.INFO: Saved type row accessory  
[2026-06-16 02:10:03] local.INFO: Saved type row accessory  
[2026-06-16 02:10:03] local.INFO: Saved type row accessory  
[2026-06-16 02:10:03] local.INFO: Saved type row accessory  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:03] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:03] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:03] local.INFO: Saved type row strength  
[2026-06-16 02:10:03] local.INFO: Saved type row warmup  
[2026-06-16 02:10:04] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/06/26 Tuesday","date_obj":"2026-06-16"} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday","patterns":["16/06/26 Tuesday","16/06/26","16/06/2026","16/06/26 Tuesday","16/06/2026 Tuesday","Tuesday 16/06/26","Tuesday 16/06/2026"]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[118],"test_ids":[100]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118],"testMap_sample":{"118":{"test_id":100,"weight":110.0,"unit_type":"kg","date":"16/06/26 Tuesday","test_created_at":"2026-06-16 02:05:38"}}} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[204,203,202,199],"types":["warmup","strength","conditioning","weightlifting"]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[204,203,202,199]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[199,202,203,204],"types":["Weightlifting","Conditioning","Strength","Warmup"],"formats":["rounds","intervals","straight-sets","emom"]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":199,"relation":"rounds","format_row_id":111,"workout_libraries_id":43,"available_test_library_ids":[118]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"available_test_library_ids":[118]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[118]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[118]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":203,"relation":"straights","format_row_id":81,"workout_libraries_id":118,"attached_test_id":100,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":81,"workout_manager_id":203,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","test_weight":110.0,"test_unit_type":"kg","test_id":100,"test_created_at":"2026-06-16 02:05:38","format_row_id":81,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":270,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":271,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":272,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":273,"workout_libraries_id":118,"straight_id":81,"res":null,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"}]}} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[118]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":43,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":1,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":111,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":204,"workout_format_id":42,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":204,"workout_format_id":43,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":2,"status":0} 
[2026-06-16 02:10:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":0,"status":0} 
[2026-06-16 02:10:04] local.INFO: Day received (raw): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:10:04] local.INFO: Day received (sanitized): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:10:04] local.INFO: Tests retrieved {"count":1,"tests":[{"id":100,"workout_manager_id":205,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"16/06/26 Tuesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-16T02:05:38.000000Z","updated_at":"2026-06-16T02:05:38.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-16 02:10:16] local.INFO: assignWorkoutToClass:  {"workout_id":202,"class_id":333,"type":"workout_manager","action":"unassign","date":"16/06/26 Tuesday"} 
[2026-06-16 02:10:16] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row accessory  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row accessory  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row accessory  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:16] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:16] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:16] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row accessory  
[2026-06-16 02:10:16] local.INFO: Saved type row accessory  
[2026-06-16 02:10:16] local.INFO: Saved type row accessory  
[2026-06-16 02:10:16] local.INFO: Saved type row accessory  
[2026-06-16 02:10:16] local.INFO: Saved type row accessory  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:16] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:16] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:16] local.INFO: Saved type row strength  
[2026-06-16 02:10:16] local.INFO: Saved type row warmup  
[2026-06-16 02:10:20] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/06/26 Tuesday","date_obj":"2026-06-16"} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday","patterns":["16/06/26 Tuesday","16/06/26","16/06/2026","16/06/26 Tuesday","16/06/2026 Tuesday","Tuesday 16/06/26","Tuesday 16/06/2026"]} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[118],"test_ids":[100]} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118],"testMap_sample":{"118":{"test_id":100,"weight":110.0,"unit_type":"kg","date":"16/06/26 Tuesday","test_created_at":"2026-06-16 02:05:38"}}} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[204,203,199],"types":["warmup","strength","weightlifting"]} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[204,203,199]} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[199,203,204],"types":["Weightlifting","Strength","Warmup"],"formats":["rounds","straight-sets","emom"]} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118]} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":199,"relation":"rounds","format_row_id":111,"workout_libraries_id":43,"available_test_library_ids":[118]} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":203,"relation":"straights","format_row_id":81,"workout_libraries_id":118,"attached_test_id":100,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":81,"workout_manager_id":203,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","test_weight":110.0,"test_unit_type":"kg","test_id":100,"test_created_at":"2026-06-16 02:05:38","format_row_id":81,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":270,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":271,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":272,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":273,"workout_libraries_id":118,"straight_id":81,"res":null,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"}]}} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[118]} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":43,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":111,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":204,"workout_format_id":42,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":204,"workout_format_id":43,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":2,"status":0} 
[2026-06-16 02:10:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":0,"status":0} 
[2026-06-16 02:10:20] local.INFO: Day received (raw): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:10:20] local.INFO: Day received (sanitized): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:10:20] local.INFO: Tests retrieved {"count":1,"tests":[{"id":100,"workout_manager_id":205,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"16/06/26 Tuesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-16T02:05:38.000000Z","updated_at":"2026-06-16T02:05:38.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-16 02:10:23] local.INFO: assignWorkoutToClass:  {"workout_id":202,"class_id":333,"type":"workout_manager","action":"assign","date":"16/06/26 Tuesday"} 
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row accessory  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row accessory  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row accessory  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:24] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:24] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:24] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row accessory  
[2026-06-16 02:10:24] local.INFO: Saved type row accessory  
[2026-06-16 02:10:24] local.INFO: Saved type row accessory  
[2026-06-16 02:10:24] local.INFO: Saved type row accessory  
[2026-06-16 02:10:24] local.INFO: Saved type row accessory  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row conditioning  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:24] local.INFO: Saved type row weightlifting  
[2026-06-16 02:10:24] local.INFO: Saved type row strength  
[2026-06-16 02:10:24] local.INFO: Saved type row warmup  
[2026-06-16 02:10:24] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/06/26 Tuesday","date_obj":"2026-06-16"} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday","patterns":["16/06/26 Tuesday","16/06/26","16/06/2026","16/06/26 Tuesday","16/06/2026 Tuesday","Tuesday 16/06/26","Tuesday 16/06/2026"]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[118],"test_ids":[100]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118],"testMap_sample":{"118":{"test_id":100,"weight":110.0,"unit_type":"kg","date":"16/06/26 Tuesday","test_created_at":"2026-06-16 02:05:38"}}} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[204,203,202,199],"types":["warmup","strength","conditioning","weightlifting"]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[204,203,202,199]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[199,202,203,204],"types":["Weightlifting","Conditioning","Strength","Warmup"],"formats":["rounds","intervals","straight-sets","emom"]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":199,"relation":"rounds","format_row_id":111,"workout_libraries_id":43,"available_test_library_ids":[118]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"available_test_library_ids":[118]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[118]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[118]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":203,"relation":"straights","format_row_id":81,"workout_libraries_id":118,"attached_test_id":100,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":81,"workout_manager_id":203,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","test_weight":110.0,"test_unit_type":"kg","test_id":100,"test_created_at":"2026-06-16 02:05:38","format_row_id":81,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":270,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":271,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":272,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":273,"workout_libraries_id":118,"straight_id":81,"res":null,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"}]}} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[118]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":43,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":1,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":111,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":204,"workout_format_id":42,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":204,"workout_format_id":43,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":2,"status":0} 
[2026-06-16 02:10:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":0,"status":0} 
[2026-06-16 02:10:34] local.INFO: Day received (raw): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:10:34] local.INFO: Day received (sanitized): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:10:34] local.INFO: Tests retrieved {"count":1,"tests":[{"id":100,"workout_manager_id":205,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"16/06/26 Tuesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-16T02:05:38.000000Z","updated_at":"2026-06-16T02:05:38.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-16 02:11:18] local.INFO: storeconditioningdaily function called.  
[2026-06-16 02:11:18] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:11:18] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":63,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:11:18] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-16 02:11:48] local.INFO: storeconditioningdaily function called.  
[2026-06-16 02:11:48] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:11:48] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":64,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:11:48] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-16 02:12:19] local.INFO: storeconditioningdaily function called.  
[2026-06-16 02:12:19] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:12:19] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":65,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:12:19] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/06/26 Tuesday","date_obj":"2026-06-16"} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday","patterns":["16/06/26 Tuesday","16/06/26","16/06/2026","16/06/26 Tuesday","16/06/2026 Tuesday","Tuesday 16/06/26","Tuesday 16/06/2026"]} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[118],"test_ids":[100]} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118],"testMap_sample":{"118":{"test_id":100,"weight":110.0,"unit_type":"kg","date":"16/06/26 Tuesday","test_created_at":"2026-06-16 02:05:38"}}} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[204,203,202,199],"types":["warmup","strength","conditioning","weightlifting"]} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[204,203,202,199]} 
[2026-06-16 02:12:49] local.INFO: storeconditioningdaily function called.  
[2026-06-16 02:12:49] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:12:49] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":66,"reps":0,"set_number":3,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"16/06/26 Tuesday","class_Id":333}]} 
[2026-06-16 02:12:49] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[199,202,203,204],"types":["Weightlifting","Conditioning","Strength","Warmup"],"formats":["rounds","intervals","straight-sets","emom"]} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118]} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":199,"relation":"rounds","format_row_id":111,"workout_libraries_id":43,"available_test_library_ids":[118]} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"available_test_library_ids":[118]} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[118]} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[118]} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":203,"relation":"straights","format_row_id":81,"workout_libraries_id":118,"attached_test_id":100,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":81,"workout_manager_id":203,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","test_weight":110.0,"test_unit_type":"kg","test_id":100,"test_created_at":"2026-06-16 02:05:38","format_row_id":81,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":270,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":271,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":272,"workout_libraries_id":118,"straight_id":81,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"},{"id":273,"workout_libraries_id":118,"straight_id":81,"res":null,"training_load":80,"unittype":"%","created_at":"2026-06-16T01:57:37.000000Z","updated_at":"2026-06-16T01:57:37.000000Z","restred":"00:00:45","restyellow":"00:00:30","restgreen":"00:00:30"}]}} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":42,"workout_libraries_id":16,"available_test_library_ids":[118]} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":204,"relation":"emoms","format_row_id":43,"workout_libraries_id":21,"available_test_library_ids":[118]} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":8,"rows_with_lib_id":8,"rows_matched":1,"rows_not_matched":7,"missing_lib_id":0,"per_relation":{"rounds":{"seen":1,"matched":0,"not_matched":1,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":3},"emoms":{"seen":2,"matched":0,"not_matched":2,"empty":3},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":199,"workout_format_id":111,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":63,"exists":true,"isCompleted":true,"round_number":"","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":64,"exists":true,"isCompleted":true,"round_number":"","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":65,"exists":true,"isCompleted":true,"round_number":"","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":66,"exists":true,"isCompleted":true,"round_number":"","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":204,"workout_format_id":42,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":204,"workout_format_id":43,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"16/06/26 Tuesday","db_date":"16/06/26 Tuesday"} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":2,"status":0} 
[2026-06-16 02:12:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":0,"status":0} 
[2026-06-16 02:12:49] local.INFO: Day received (raw): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:12:49] local.INFO: Day received (sanitized): {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:12:49] local.INFO: Tests retrieved {"count":1,"tests":[{"id":100,"workout_manager_id":205,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"16/06/26 Tuesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-16T02:05:38.000000Z","updated_at":"2026-06-16T02:05:38.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-16 02:13:54] local.INFO: assignWorkoutToClass:  {"workout_id":199,"class_id":333,"type":"workout_manager","action":"unassign","date":"16/06/26 Tuesday"} 
[2026-06-16 02:13:54] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row weightlifting  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row accessory  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row accessory  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row accessory  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row weightlifting  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row weightlifting  
[2026-06-16 02:13:54] local.INFO: Saved type row weightlifting  
[2026-06-16 02:13:54] local.INFO: Saved type row weightlifting  
[2026-06-16 02:13:54] local.INFO: Saved type row weightlifting  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row accessory  
[2026-06-16 02:13:54] local.INFO: Saved type row accessory  
[2026-06-16 02:13:54] local.INFO: Saved type row accessory  
[2026-06-16 02:13:54] local.INFO: Saved type row accessory  
[2026-06-16 02:13:54] local.INFO: Saved type row accessory  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row conditioning  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:54] local.INFO: Saved type row weightlifting  
[2026-06-16 02:13:54] local.INFO: Saved type row weightlifting  
[2026-06-16 02:13:54] local.INFO: Saved type row strength  
[2026-06-16 02:13:54] local.INFO: Saved type row warmup  
[2026-06-16 02:13:59] local.INFO: assignWorkoutToClass:  {"workout_id":202,"class_id":333,"type":"workout_manager","action":"unassign","date":"16/06/26 Tuesday"} 
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row accessory  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row accessory  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row accessory  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row accessory  
[2026-06-16 02:14:00] local.INFO: Saved type row accessory  
[2026-06-16 02:14:00] local.INFO: Saved type row accessory  
[2026-06-16 02:14:00] local.INFO: Saved type row accessory  
[2026-06-16 02:14:00] local.INFO: Saved type row accessory  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:00] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:00] local.INFO: Saved type row strength  
[2026-06-16 02:14:00] local.INFO: Saved type row warmup  
[2026-06-16 02:14:00] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:14:12] local.INFO: assignWorkoutToClass:  {"workout_id":204,"class_id":333,"type":"workout_manager","action":"unassign","date":"16/06/26 Tuesday"} 
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row accessory  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row accessory  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row accessory  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:12] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:12] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:12] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row accessory  
[2026-06-16 02:14:12] local.INFO: Saved type row accessory  
[2026-06-16 02:14:12] local.INFO: Saved type row accessory  
[2026-06-16 02:14:12] local.INFO: Saved type row accessory  
[2026-06-16 02:14:12] local.INFO: Saved type row accessory  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row conditioning  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:12] local.INFO: Saved type row weightlifting  
[2026-06-16 02:14:12] local.INFO: Saved type row strength  
[2026-06-16 02:14:12] local.INFO: Saved type row warmup  
[2026-06-16 02:14:12] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:15:30] local.INFO: storestrengthdaily function called.  
[2026-06-16 02:15:30] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:15:30] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":203,"workout_format_type":"straight-sets","workout_format_id":272,"reps":5,"weight":88,"date":"16/06/26 Tuesday","set_number":3,"class_Id":333}]} 
[2026-06-16 02:15:30] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-16 02:15:30] local.INFO: New strength record created {"workout_manager_id":203,"set_number":3} 
[2026-06-16 02:15:37] local.INFO: storestrengthdaily function called.  
[2026-06-16 02:15:37] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-16 02:15:37] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":203,"workout_format_type":"straight-sets","workout_format_id":273,"reps":0,"weight":88,"date":"16/06/26 Tuesday","set_number":4,"class_Id":333}]} 
[2026-06-16 02:15:37] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-16 02:15:37] local.INFO: New strength record created {"workout_manager_id":203,"set_number":4} 
[2026-06-16 02:17:14] local.INFO: assignWorkoutToClass:  {"workout_id":203,"class_id":333,"type":"workout_manager","action":"unassign","date":"16/06/26 Tuesday"} 
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row accessory  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row accessory  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row accessory  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:15] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:15] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:15] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row accessory  
[2026-06-16 02:17:15] local.INFO: Saved type row accessory  
[2026-06-16 02:17:15] local.INFO: Saved type row accessory  
[2026-06-16 02:17:15] local.INFO: Saved type row accessory  
[2026-06-16 02:17:15] local.INFO: Saved type row accessory  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:15] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:15] local.INFO: Saved type row strength  
[2026-06-16 02:17:15] local.INFO: Saved type row warmup  
[2026-06-16 02:17:15] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:17:20] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:17:20] local.INFO: Tab value: all  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row accessory  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row accessory  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row accessory  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:20] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:20] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:20] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row accessory  
[2026-06-16 02:17:20] local.INFO: Saved type row accessory  
[2026-06-16 02:17:20] local.INFO: Saved type row accessory  
[2026-06-16 02:17:20] local.INFO: Saved type row accessory  
[2026-06-16 02:17:20] local.INFO: Saved type row accessory  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row warmup  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:20] local.INFO: Saved type row strength  
[2026-06-16 02:17:20] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row accessory  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:21] local.INFO: Saved type row strength  
[2026-06-16 02:17:21] local.INFO: Saved type row warmup  
[2026-06-16 02:17:44] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 02:17:44] local.INFO: Tab value: all  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row accessory  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row accessory  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row accessory  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:46] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:46] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:46] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row accessory  
[2026-06-16 02:17:46] local.INFO: Saved type row accessory  
[2026-06-16 02:17:46] local.INFO: Saved type row accessory  
[2026-06-16 02:17:46] local.INFO: Saved type row accessory  
[2026-06-16 02:17:46] local.INFO: Saved type row accessory  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:46] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:46] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:46] local.INFO: Saved type row strength  
[2026-06-16 02:17:46] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row accessory  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row accessory  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row accessory  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:47] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:47] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:47] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row accessory  
[2026-06-16 02:17:47] local.INFO: Saved type row accessory  
[2026-06-16 02:17:47] local.INFO: Saved type row accessory  
[2026-06-16 02:17:47] local.INFO: Saved type row accessory  
[2026-06-16 02:17:47] local.INFO: Saved type row accessory  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:47] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:47] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:47] local.INFO: Saved type row strength  
[2026-06-16 02:17:47] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row accessory  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row accessory  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row accessory  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:49] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:49] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:49] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row accessory  
[2026-06-16 02:17:49] local.INFO: Saved type row accessory  
[2026-06-16 02:17:49] local.INFO: Saved type row accessory  
[2026-06-16 02:17:49] local.INFO: Saved type row accessory  
[2026-06-16 02:17:49] local.INFO: Saved type row accessory  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row conditioning  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:17:49] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:49] local.INFO: Saved type row weightlifting  
[2026-06-16 02:17:49] local.INFO: Saved type row strength  
[2026-06-16 02:17:49] local.INFO: Saved type row warmup  
[2026-06-16 02:31:54] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:31:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"16/06/26 Tuesday","date_obj":"2026-06-16"} 
[2026-06-16 02:31:54] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday","patterns":["16/06/26 Tuesday","16/06/26","16/06/2026","16/06/26 Tuesday","16/06/2026 Tuesday","Tuesday 16/06/26","Tuesday 16/06/2026"]} 
[2026-06-16 02:31:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:31:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[118],"test_ids":[100]} 
[2026-06-16 02:31:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118],"testMap_sample":{"118":{"test_id":100,"weight":110.0,"unit_type":"kg","date":"16/06/26 Tuesday","test_created_at":"2026-06-16 02:05:38"}}} 
[2026-06-16 02:31:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 02:31:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-16 02:31:55] local.WARNING: [getWorkouts] No workout assignments found {"class_id":333,"date_string":"16/06/26 Tuesday"} 
[2026-06-16 04:04:22] local.INFO: Day received: {"day":"16/06/26 Tuesday"} 
[2026-06-16 04:04:22] local.INFO: Tab value: all  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row accessory  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row accessory  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row accessory  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:23] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:23] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:23] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row accessory  
[2026-06-16 04:04:23] local.INFO: Saved type row accessory  
[2026-06-16 04:04:23] local.INFO: Saved type row accessory  
[2026-06-16 04:04:23] local.INFO: Saved type row accessory  
[2026-06-16 04:04:23] local.INFO: Saved type row accessory  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:23] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row accessory  
[2026-06-16 04:04:23] local.INFO: Saved type row strength  
[2026-06-16 04:04:23] local.INFO: Saved type row accessory  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row warmup  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:23] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row accessory  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row conditioning  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row weightlifting  
[2026-06-16 04:04:24] local.INFO: Saved type row strength  
[2026-06-16 04:04:24] local.INFO: Saved type row warmup  
[2026-06-16 06:09:27] local.INFO: mobile login pin : 3333  
[2026-06-16 06:09:27] local.INFO: mobile login pin : 3333  
[2026-06-16 06:52:03] local.INFO: Tab value: all  
[2026-06-16 08:38:59] local.INFO: mobile login pin : 3333  
[2026-06-16 11:37:34] local.INFO: mobile login pin : 7825  
[2026-06-17 01:00:12] local.INFO: Tab value: all  
[2026-06-17 01:00:25] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-17 01:00:29] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:00:30] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-17 01:01:51] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:03:15] local.INFO: Tab value: all  
[2026-06-17 01:03:21] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:03:21] local.INFO: Saved type row warmup  
[2026-06-17 01:03:27] local.INFO: assignWorkoutToClass:  {"workout_id":206,"class_id":334,"type":"workout_manager","action":"assign","date":"17/06/26 Wednesday"} 
[2026-06-17 01:03:27] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:03:27] local.INFO: Saved type row warmup  
[2026-06-17 01:04:32] local.INFO: Tab value: all  
[2026-06-17 01:04:33] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:04:33] local.INFO: Saved type row strength  
[2026-06-17 01:04:33] local.INFO: Saved type row warmup  
[2026-06-17 01:04:41] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:04:41] local.INFO: Saved type row strength  
[2026-06-17 01:04:41] local.INFO: Saved type row warmup  
[2026-06-17 01:04:45] local.INFO: assignWorkoutToClass:  {"workout_id":207,"class_id":334,"type":"workout_manager","action":"assign","date":"17/06/26 Wednesday"} 
[2026-06-17 01:04:45] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:04:45] local.INFO: Saved type row strength  
[2026-06-17 01:04:45] local.INFO: Saved type row warmup  
[2026-06-17 01:06:03] local.INFO: Tab value: all  
[2026-06-17 01:06:06] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:06:06] local.INFO: Saved type row conditioning  
[2026-06-17 01:06:06] local.INFO: Saved type row strength  
[2026-06-17 01:06:06] local.INFO: Saved type row warmup  
[2026-06-17 01:06:08] local.INFO: assignWorkoutToClass:  {"workout_id":208,"class_id":334,"type":"workout_manager","action":"assign","date":"17/06/26 Wednesday"} 
[2026-06-17 01:06:09] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:06:09] local.INFO: Saved type row conditioning  
[2026-06-17 01:06:09] local.INFO: Saved type row strength  
[2026-06-17 01:06:09] local.INFO: Saved type row warmup  
[2026-06-17 01:07:08] local.INFO: Tab value: all  
[2026-06-17 01:07:09] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:07:09] local.INFO: Saved type row accessory  
[2026-06-17 01:07:09] local.INFO: Saved type row conditioning  
[2026-06-17 01:07:09] local.INFO: Saved type row strength  
[2026-06-17 01:07:09] local.INFO: Saved type row warmup  
[2026-06-17 01:07:11] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:07:11] local.INFO: Saved type row accessory  
[2026-06-17 01:07:11] local.INFO: Saved type row conditioning  
[2026-06-17 01:07:11] local.INFO: Saved type row strength  
[2026-06-17 01:07:11] local.INFO: Saved type row warmup  
[2026-06-17 01:07:14] local.INFO: assignWorkoutToClass:  {"workout_id":209,"class_id":334,"type":"workout_manager","action":"assign","date":"17/06/26 Wednesday"} 
[2026-06-17 01:07:14] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:07:14] local.INFO: Saved type row accessory  
[2026-06-17 01:07:14] local.INFO: Saved type row conditioning  
[2026-06-17 01:07:14] local.INFO: Saved type row strength  
[2026-06-17 01:07:14] local.INFO: Saved type row warmup  
[2026-06-17 01:08:44] local.INFO: AMRAP row processing {"managerId":210,"index":"1","exercise":"Deadlift","workout_library_id":71} 
[2026-06-17 01:08:44] local.INFO: Saved AMRAP row 1  
[2026-06-17 01:08:44] local.INFO: AMRAP row processing {"managerId":210,"index":"2","exercise":"Rower","workout_library_id":98} 
[2026-06-17 01:08:44] local.INFO: Saved AMRAP row 2  
[2026-06-17 01:08:47] local.INFO: Tab value: all  
[2026-06-17 01:08:50] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:08:50] local.INFO: Saved type row weightlifting  
[2026-06-17 01:08:50] local.INFO: Saved type row accessory  
[2026-06-17 01:08:50] local.INFO: Saved type row conditioning  
[2026-06-17 01:08:50] local.INFO: Saved type row strength  
[2026-06-17 01:08:50] local.INFO: Saved type row warmup  
[2026-06-17 01:08:52] local.INFO: assignWorkoutToClass:  {"workout_id":210,"class_id":334,"type":"workout_manager","action":"assign","date":"17/06/26 Wednesday"} 
[2026-06-17 01:08:52] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:08:52] local.INFO: Saved type row weightlifting  
[2026-06-17 01:08:52] local.INFO: Saved type row accessory  
[2026-06-17 01:08:52] local.INFO: Saved type row conditioning  
[2026-06-17 01:08:52] local.INFO: Saved type row strength  
[2026-06-17 01:08:52] local.INFO: Saved type row warmup  
[2026-06-17 01:09:05] local.INFO: mobile login pin : 7828  
[2026-06-17 01:09:12] local.INFO: mobile login pin : 7827  
[2026-06-17 01:09:40] local.INFO: mobile login pin : 7825  
[2026-06-17 01:09:54] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[206,207,208,209,210],"types":["warmup","strength","conditioning","accessory","weightlifting"]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[206,207,208,209,210]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[206,207,208,209,210],"types":["Warmup","Strength","Conditioning","Accessory","Weightlifting"],"formats":["rounds","straight-sets","intervals","emom","amrap"]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":112,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":113,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":114,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":115,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":207,"relation":"straights","format_row_id":82,"workout_libraries_id":118,"available_test_library_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":67,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":68,"workout_libraries_id":16,"available_test_library_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":69,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":70,"workout_libraries_id":37,"available_test_library_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":209,"relation":"emoms","format_row_id":44,"workout_libraries_id":60,"available_test_library_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":210,"relation":"amraps","format_row_id":73,"workout_libraries_id":71,"available_test_library_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":210,"relation":"amraps","format_row_id":74,"workout_libraries_id":98,"available_test_library_ids":[]} 
[2026-06-17 01:09:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":12,"rows_with_lib_id":12,"rows_matched":0,"rows_not_matched":12,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":0,"not_matched":4,"empty":4},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-06-17 01:09:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:09:55] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":73,"class_id":334,"round_entries":[]} 
[2026-06-17 01:09:55] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-17 01:09:55] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:09:55] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":74,"class_id":334,"round_entries":[]} 
[2026-06-17 01:09:55] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-17 01:09:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":4,"completed":0,"status":0} 
[2026-06-17 01:09:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-17 01:09:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-17 01:09:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":1,"completed":0,"status":0} 
[2026-06-17 01:09:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":2,"completed":0,"status":0} 
[2026-06-17 01:09:55] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:09:55] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:09:55] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[101]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"}}} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[206,207,208,209,210],"types":["warmup","strength","conditioning","accessory","weightlifting"]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[206,207,208,209,210]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[206,207,208,209,210],"types":["Warmup","Strength","Conditioning","Accessory","Weightlifting"],"formats":["rounds","straight-sets","intervals","emom","amrap"]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":112,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":113,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":114,"workout_libraries_id":25,"available_test_library_ids":[17]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":206,"relation":"rounds","format_row_id":115,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":115,"workout_manager_id":206,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-17T01:03:12.000000Z","updated_at":"2026-06-17T01:03:12.000000Z","is_for_time":1,"time_to_complete":"00:05:30","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":115,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":207,"relation":"straights","format_row_id":82,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":67,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":68,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":69,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":70,"workout_libraries_id":37,"available_test_library_ids":[17]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":209,"relation":"emoms","format_row_id":44,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":210,"relation":"amraps","format_row_id":73,"workout_libraries_id":71,"available_test_library_ids":[17]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":210,"relation":"amraps","format_row_id":74,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":12,"rows_with_lib_id":12,"rows_matched":1,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":4},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:10:52] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":73,"class_id":334,"round_entries":[]} 
[2026-06-17 01:10:52] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:10:52] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":74,"class_id":334,"round_entries":[]} 
[2026-06-17 01:10:52] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":4,"completed":0,"status":0} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":1,"completed":0,"status":0} 
[2026-06-17 01:10:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":2,"completed":0,"status":0} 
[2026-06-17 01:10:52] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:10:52] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:10:52] local.INFO: Tests retrieved {"count":1,"tests":[{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-17 01:11:39] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:11:39] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:11:39] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":112,"reps":5,"set_number":1,"round_number":"1/4","weight":null,"exercise_time":"00:26","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:11:39] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-17 01:11:39] local.INFO: New warm-up created {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":112,"round_number":"1/4"} 
[2026-06-17 01:11:39] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:11:39] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:11:39] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":113,"reps":0,"set_number":1,"round_number":"1/4","weight":10,"exercise_time":"00:26","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:11:39] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-17 01:11:39] local.INFO: New warm-up created {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":113,"round_number":"1/4"} 
[2026-06-17 01:11:39] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:11:39] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:11:39] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":114,"reps":3,"set_number":1,"round_number":"1/4","weight":20,"exercise_time":"00:26","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:11:39] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-17 01:11:39] local.INFO: New warm-up created {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":114,"round_number":"1/4"} 
[2026-06-17 01:11:40] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:11:40] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:11:40] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":115,"reps":4,"set_number":1,"round_number":"1/4","weight":50,"exercise_time":"00:26","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:11:40] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-17 01:11:40] local.INFO: New warm-up created {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":115,"round_number":"1/4"} 
[2026-06-17 01:11:46] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:11:46] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:11:46] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":112,"reps":5,"set_number":2,"round_number":"2/4","weight":null,"exercise_time":"00:33","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:11:46] local.INFO: Existing warmup record: {"dailyWarmup":{"id":93,"class_id":334,"member_id":9,"warmup_id":null,"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":112,"reps":5,"date":"17/06/26 Wednesday","created_at":"2026-06-17T01:11:39.000000Z","updated_at":"2026-06-17T01:11:39.000000Z","exercise_time":"00:26","round_number":"1/4","notes":null}} 
[2026-06-17 01:11:46] local.INFO: Warm-up updated {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":112,"round_number":"2/4"} 
[2026-06-17 01:11:46] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:11:46] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:11:46] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":113,"reps":0,"set_number":2,"round_number":"2/4","weight":10,"exercise_time":"00:33","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:11:46] local.INFO: Existing warmup record: {"dailyWarmup":{"id":94,"class_id":334,"member_id":9,"warmup_id":null,"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":113,"reps":0,"date":"17/06/26 Wednesday","created_at":"2026-06-17T01:11:39.000000Z","updated_at":"2026-06-17T01:11:39.000000Z","exercise_time":"00:26","round_number":"1/4","notes":null}} 
[2026-06-17 01:11:46] local.INFO: Warm-up updated {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":113,"round_number":"2/4"} 
[2026-06-17 01:11:46] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:11:46] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:11:46] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":114,"reps":3,"set_number":2,"round_number":"2/4","weight":20,"exercise_time":"00:33","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:11:46] local.INFO: Existing warmup record: {"dailyWarmup":{"id":95,"class_id":334,"member_id":9,"warmup_id":null,"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":114,"reps":3,"date":"17/06/26 Wednesday","created_at":"2026-06-17T01:11:39.000000Z","updated_at":"2026-06-17T01:11:39.000000Z","exercise_time":"00:26","round_number":"1/4","notes":null}} 
[2026-06-17 01:11:46] local.INFO: Warm-up updated {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":114,"round_number":"2/4"} 
[2026-06-17 01:11:47] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:11:47] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:11:47] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":115,"reps":4,"set_number":2,"round_number":"2/4","weight":50,"exercise_time":"00:33","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:11:47] local.INFO: Existing warmup record: {"dailyWarmup":{"id":96,"class_id":334,"member_id":9,"warmup_id":null,"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":115,"reps":4,"date":"17/06/26 Wednesday","created_at":"2026-06-17T01:11:40.000000Z","updated_at":"2026-06-17T01:11:40.000000Z","exercise_time":"00:26","round_number":"1/4","notes":null}} 
[2026-06-17 01:11:47] local.INFO: Warm-up updated {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":115,"round_number":"2/4"} 
[2026-06-17 01:11:57] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:11:57] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:11:57] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":112,"reps":5,"set_number":3,"round_number":"3/4","weight":null,"exercise_time":"00:44","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:11:57] local.INFO: Existing warmup record: {"dailyWarmup":{"id":93,"class_id":334,"member_id":9,"warmup_id":null,"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":112,"reps":5,"date":"17/06/26 Wednesday","created_at":"2026-06-17T01:11:39.000000Z","updated_at":"2026-06-17T01:11:46.000000Z","exercise_time":"00:33","round_number":"2/4","notes":null}} 
[2026-06-17 01:11:57] local.INFO: Warm-up updated {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":112,"round_number":"3/4"} 
[2026-06-17 01:11:57] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:11:57] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:11:57] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":113,"reps":0,"set_number":3,"round_number":"3/4","weight":10,"exercise_time":"00:44","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:11:57] local.INFO: Existing warmup record: {"dailyWarmup":{"id":94,"class_id":334,"member_id":9,"warmup_id":null,"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":113,"reps":0,"date":"17/06/26 Wednesday","created_at":"2026-06-17T01:11:39.000000Z","updated_at":"2026-06-17T01:11:46.000000Z","exercise_time":"00:33","round_number":"2/4","notes":null}} 
[2026-06-17 01:11:57] local.INFO: Warm-up updated {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":113,"round_number":"3/4"} 
[2026-06-17 01:11:58] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:11:58] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:11:58] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":114,"reps":3,"set_number":3,"round_number":"3/4","weight":20,"exercise_time":"00:44","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:11:58] local.INFO: Existing warmup record: {"dailyWarmup":{"id":95,"class_id":334,"member_id":9,"warmup_id":null,"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":114,"reps":3,"date":"17/06/26 Wednesday","created_at":"2026-06-17T01:11:39.000000Z","updated_at":"2026-06-17T01:11:46.000000Z","exercise_time":"00:33","round_number":"2/4","notes":null}} 
[2026-06-17 01:11:58] local.INFO: Warm-up updated {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":114,"round_number":"3/4"} 
[2026-06-17 01:11:58] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:11:58] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:11:58] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":115,"reps":4,"set_number":3,"round_number":"3/4","weight":50,"exercise_time":"00:44","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:11:58] local.INFO: Existing warmup record: {"dailyWarmup":{"id":96,"class_id":334,"member_id":9,"warmup_id":null,"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":115,"reps":4,"date":"17/06/26 Wednesday","created_at":"2026-06-17T01:11:40.000000Z","updated_at":"2026-06-17T01:11:47.000000Z","exercise_time":"00:33","round_number":"2/4","notes":null}} 
[2026-06-17 01:11:58] local.INFO: Warm-up updated {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":115,"round_number":"3/4"} 
[2026-06-17 01:12:07] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:12:07] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:12:07] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":112,"reps":5,"set_number":4,"round_number":"4/4","weight":null,"exercise_time":"00:53","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:12:07] local.INFO: Existing warmup record: {"dailyWarmup":{"id":93,"class_id":334,"member_id":9,"warmup_id":null,"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":112,"reps":5,"date":"17/06/26 Wednesday","created_at":"2026-06-17T01:11:39.000000Z","updated_at":"2026-06-17T01:11:57.000000Z","exercise_time":"00:44","round_number":"3/4","notes":null}} 
[2026-06-17 01:12:07] local.INFO: Warm-up updated {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":112,"round_number":"4/4"} 
[2026-06-17 01:12:07] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:12:07] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:12:07] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":113,"reps":0,"set_number":4,"round_number":"4/4","weight":10,"exercise_time":"00:53","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:12:07] local.INFO: Existing warmup record: {"dailyWarmup":{"id":94,"class_id":334,"member_id":9,"warmup_id":null,"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":113,"reps":0,"date":"17/06/26 Wednesday","created_at":"2026-06-17T01:11:39.000000Z","updated_at":"2026-06-17T01:11:57.000000Z","exercise_time":"00:44","round_number":"3/4","notes":null}} 
[2026-06-17 01:12:07] local.INFO: Warm-up updated {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":113,"round_number":"4/4"} 
[2026-06-17 01:12:07] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:12:07] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:12:07] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":114,"reps":3,"set_number":4,"round_number":"4/4","weight":20,"exercise_time":"00:53","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:12:07] local.INFO: Existing warmup record: {"dailyWarmup":{"id":95,"class_id":334,"member_id":9,"warmup_id":null,"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":114,"reps":3,"date":"17/06/26 Wednesday","created_at":"2026-06-17T01:11:39.000000Z","updated_at":"2026-06-17T01:11:58.000000Z","exercise_time":"00:44","round_number":"3/4","notes":null}} 
[2026-06-17 01:12:07] local.INFO: Warm-up updated {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":114,"round_number":"4/4"} 
[2026-06-17 01:12:07] local.INFO: storewarmupdaily function called.  
[2026-06-17 01:12:07] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:12:07] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":115,"reps":4,"set_number":4,"round_number":"4/4","weight":50,"exercise_time":"00:53","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:12:07] local.INFO: Existing warmup record: {"dailyWarmup":{"id":96,"class_id":334,"member_id":9,"warmup_id":null,"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":115,"reps":4,"date":"17/06/26 Wednesday","created_at":"2026-06-17T01:11:40.000000Z","updated_at":"2026-06-17T01:11:58.000000Z","exercise_time":"00:44","round_number":"3/4","notes":null}} 
[2026-06-17 01:12:07] local.INFO: Warm-up updated {"workout_manager_id":206,"workout_format_type":"rounds","workout_format_id":115,"round_number":"4/4"} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":1,"library_ids":[17],"test_ids":[101]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17],"testMap_sample":{"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"}}} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[206,207,208,209,210],"types":["warmup","strength","conditioning","accessory","weightlifting"]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[206,207,208,209,210]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[206,207,208,209,210],"types":["Warmup","Strength","Conditioning","Accessory","Weightlifting"],"formats":["rounds","straight-sets","intervals","emom","amrap"]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":112,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":113,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":114,"workout_libraries_id":25,"available_test_library_ids":[17]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":206,"relation":"rounds","format_row_id":115,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":115,"workout_manager_id":206,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-17T01:03:12.000000Z","updated_at":"2026-06-17T01:03:12.000000Z","is_for_time":1,"time_to_complete":"00:05:30","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":115,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":207,"relation":"straights","format_row_id":82,"workout_libraries_id":118,"available_test_library_ids":[17]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":67,"workout_libraries_id":23,"available_test_library_ids":[17]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":68,"workout_libraries_id":16,"available_test_library_ids":[17]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":69,"workout_libraries_id":21,"available_test_library_ids":[17]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":70,"workout_libraries_id":37,"available_test_library_ids":[17]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":209,"relation":"emoms","format_row_id":44,"workout_libraries_id":60,"available_test_library_ids":[17]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":210,"relation":"amraps","format_row_id":73,"workout_libraries_id":71,"available_test_library_ids":[17]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":210,"relation":"amraps","format_row_id":74,"workout_libraries_id":98,"available_test_library_ids":[17]} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":12,"rows_with_lib_id":12,"rows_matched":1,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":4},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":1,"matched":0,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":112,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":113,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":114,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":115,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:12:08] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":73,"class_id":334,"round_entries":[]} 
[2026-06-17 01:12:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:12:08] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":74,"class_id":334,"round_entries":[]} 
[2026-06-17 01:12:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":4,"completed":4,"status":1} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":1,"completed":0,"status":0} 
[2026-06-17 01:12:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":2,"completed":0,"status":0} 
[2026-06-17 01:12:08] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:12:08] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:12:08] local.INFO: Tests retrieved {"count":1,"tests":[{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":2,"library_ids":[17,118],"test_ids":[101,102]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118],"testMap_sample":{"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"}}} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[206,207,208,209,210],"types":["warmup","strength","conditioning","accessory","weightlifting"]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[206,207,208,209,210]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[206,207,208,209,210],"types":["Warmup","Strength","Conditioning","Accessory","Weightlifting"],"formats":["rounds","straight-sets","intervals","emom","amrap"]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":112,"workout_libraries_id":16,"available_test_library_ids":[17,118]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":113,"workout_libraries_id":21,"available_test_library_ids":[17,118]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":114,"workout_libraries_id":25,"available_test_library_ids":[17,118]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":206,"relation":"rounds","format_row_id":115,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":115,"workout_manager_id":206,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-17T01:03:12.000000Z","updated_at":"2026-06-17T01:03:12.000000Z","is_for_time":1,"time_to_complete":"00:05:30","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":115,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":207,"relation":"straights","format_row_id":82,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":82,"workout_manager_id":207,"workout_libraries_id":118,"training_load":50,"unit_type":"%","reps":5,"created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":82,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":274,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":50,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":275,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":60,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":276,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":70,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":277,"workout_libraries_id":118,"straight_id":82,"res":null,"training_load":80,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":67,"workout_libraries_id":23,"available_test_library_ids":[17,118]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":68,"workout_libraries_id":16,"available_test_library_ids":[17,118]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":69,"workout_libraries_id":21,"available_test_library_ids":[17,118]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":70,"workout_libraries_id":37,"available_test_library_ids":[17,118]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":209,"relation":"emoms","format_row_id":44,"workout_libraries_id":60,"available_test_library_ids":[17,118]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":210,"relation":"amraps","format_row_id":73,"workout_libraries_id":71,"available_test_library_ids":[17,118]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":210,"relation":"amraps","format_row_id":74,"workout_libraries_id":98,"available_test_library_ids":[17,118]} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":12,"rows_with_lib_id":12,"rows_matched":2,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":4},"amraps":{"seen":2,"matched":0,"not_matched":2,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":112,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":113,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":114,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":115,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:12:41] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":73,"class_id":334,"round_entries":[]} 
[2026-06-17 01:12:41] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:12:41] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":74,"class_id":334,"round_entries":[]} 
[2026-06-17 01:12:41] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":4,"completed":4,"status":1} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":1,"completed":0,"status":0} 
[2026-06-17 01:12:41] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":2,"completed":0,"status":0} 
[2026-06-17 01:12:41] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:12:41] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:12:41] local.INFO: Tests retrieved {"count":2,"tests":[{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-17 01:12:56] local.INFO: storestrengthdaily function called.  
[2026-06-17 01:12:56] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:12:56] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":207,"workout_format_type":"straight-sets","workout_format_id":274,"reps":5,"weight":55,"date":"17/06/26 Wednesday","set_number":1,"class_Id":334}]} 
[2026-06-17 01:12:56] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-17 01:12:56] local.INFO: New strength record created {"workout_manager_id":207,"set_number":1} 
[2026-06-17 01:13:36] local.INFO: storestrengthdaily function called.  
[2026-06-17 01:13:36] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:13:36] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":207,"workout_format_type":"straight-sets","workout_format_id":275,"reps":5,"weight":66,"date":"17/06/26 Wednesday","set_number":2,"class_Id":334}]} 
[2026-06-17 01:13:36] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-17 01:13:36] local.INFO: New strength record created {"workout_manager_id":207,"set_number":2} 
[2026-06-17 01:13:53] local.INFO: storestrengthdaily function called.  
[2026-06-17 01:13:53] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:13:53] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":207,"workout_format_type":"straight-sets","workout_format_id":276,"reps":5,"weight":77,"date":"17/06/26 Wednesday","set_number":3,"class_Id":334}]} 
[2026-06-17 01:13:53] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-17 01:13:53] local.INFO: New strength record created {"workout_manager_id":207,"set_number":3} 
[2026-06-17 01:13:55] local.INFO: storestrengthdaily function called.  
[2026-06-17 01:13:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:13:55] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":207,"workout_format_type":"straight-sets","workout_format_id":277,"reps":0,"weight":88,"date":"17/06/26 Wednesday","set_number":4,"class_Id":334}]} 
[2026-06-17 01:13:55] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-17 01:13:55] local.INFO: New strength record created {"workout_manager_id":207,"set_number":4} 
[2026-06-17 01:14:06] local.INFO: storestrengthdaily function called.  
[2026-06-17 01:14:06] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:14:06] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":207,"workout_format_type":"straight-sets","workout_format_id":274,"reps":5,"weight":55,"date":"17/06/26 Wednesday","set_number":1,"notes":"Test","class_Id":334},{"workout_manager_id":207,"workout_format_type":"straight-sets","workout_format_id":275,"reps":5,"weight":66,"date":"17/06/26 Wednesday","set_number":2,"notes":"Test","class_Id":334},{"workout_manager_id":207,"workout_format_type":"straight-sets","workout_format_id":276,"reps":5,"weight":77,"date":"17/06/26 Wednesday","set_number":3,"notes":"Test","class_Id":334},{"workout_manager_id":207,"workout_format_type":"straight-sets","workout_format_id":277,"reps":0,"weight":88,"date":"17/06/26 Wednesday","set_number":4,"notes":"Test","class_Id":334}]} 
[2026-06-17 01:14:06] local.INFO: Existing strength record: {"dailyStrength":{"id":118,"class_id":334,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":207,"workout_format_type":"straight-sets","workout_format_id":274,"type":"Primary","reps":5,"weight":"55","date":"17/06/26 Wednesday","created_at":"2026-06-17T01:12:56.000000Z","updated_at":"2026-06-17T01:12:56.000000Z","set_number":1,"exercise_time":null,"notes":null}} 
[2026-06-17 01:14:06] local.INFO: Strength updated {"workout_manager_id":207,"set_number":1} 
[2026-06-17 01:14:06] local.INFO: Existing strength record: {"dailyStrength":{"id":119,"class_id":334,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":207,"workout_format_type":"straight-sets","workout_format_id":275,"type":"Primary","reps":5,"weight":"66","date":"17/06/26 Wednesday","created_at":"2026-06-17T01:13:36.000000Z","updated_at":"2026-06-17T01:13:36.000000Z","set_number":2,"exercise_time":null,"notes":null}} 
[2026-06-17 01:14:06] local.INFO: Strength updated {"workout_manager_id":207,"set_number":2} 
[2026-06-17 01:14:06] local.INFO: Existing strength record: {"dailyStrength":{"id":120,"class_id":334,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":207,"workout_format_type":"straight-sets","workout_format_id":276,"type":"Primary","reps":5,"weight":"77","date":"17/06/26 Wednesday","created_at":"2026-06-17T01:13:53.000000Z","updated_at":"2026-06-17T01:13:53.000000Z","set_number":3,"exercise_time":null,"notes":null}} 
[2026-06-17 01:14:06] local.INFO: Strength updated {"workout_manager_id":207,"set_number":3} 
[2026-06-17 01:14:06] local.INFO: Existing strength record: {"dailyStrength":{"id":121,"class_id":334,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":207,"workout_format_type":"straight-sets","workout_format_id":277,"type":"Primary","reps":0,"weight":"88","date":"17/06/26 Wednesday","created_at":"2026-06-17T01:13:55.000000Z","updated_at":"2026-06-17T01:13:55.000000Z","set_number":4,"exercise_time":null,"notes":null}} 
[2026-06-17 01:14:06] local.INFO: Strength updated {"workout_manager_id":207,"set_number":4} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[17,118,71],"test_ids":[101,102,103]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118,71],"testMap_sample":{"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"71":{"test_id":103,"weight":200.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:14:26"}}} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[206,207,208,209,210],"types":["warmup","strength","conditioning","accessory","weightlifting"]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[206,207,208,209,210]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[206,207,208,209,210],"types":["Warmup","Strength","Conditioning","Accessory","Weightlifting"],"formats":["rounds","straight-sets","intervals","emom","amrap"]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118,71]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":112,"workout_libraries_id":16,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":113,"workout_libraries_id":21,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":114,"workout_libraries_id":25,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":206,"relation":"rounds","format_row_id":115,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":115,"workout_manager_id":206,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-17T01:03:12.000000Z","updated_at":"2026-06-17T01:03:12.000000Z","is_for_time":1,"time_to_complete":"00:05:30","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":115,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":207,"relation":"straights","format_row_id":82,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":82,"workout_manager_id":207,"workout_libraries_id":118,"training_load":50,"unit_type":"%","reps":5,"created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":82,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":274,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":50,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":275,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":60,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":276,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":70,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":277,"workout_libraries_id":118,"straight_id":82,"res":null,"training_load":80,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":67,"workout_libraries_id":23,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":68,"workout_libraries_id":16,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":69,"workout_libraries_id":21,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":70,"workout_libraries_id":37,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":209,"relation":"emoms","format_row_id":44,"workout_libraries_id":60,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":210,"relation":"amraps","format_row_id":73,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":73,"workout_manager_id":210,"workout_libraries_id":71,"training_load":60,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-17T01:08:44.000000Z","updated_at":"2026-06-17T01:08:44.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":73,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}}}} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":210,"relation":"amraps","format_row_id":74,"workout_libraries_id":98,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":12,"rows_with_lib_id":12,"rows_matched":3,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":4},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":112,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":113,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":114,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":115,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:14:26] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":73,"class_id":334,"round_entries":[]} 
[2026-06-17 01:14:26] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:14:26] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":74,"class_id":334,"round_entries":[]} 
[2026-06-17 01:14:26] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":4,"completed":4,"status":1} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":1,"completed":0,"status":0} 
[2026-06-17 01:14:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":2,"completed":0,"status":0} 
[2026-06-17 01:14:26] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:14:26] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:14:26] local.INFO: Tests retrieved {"count":3,"tests":[{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-17 01:15:37] local.INFO: storeweightliftingdaily function called.  
[2026-06-17 01:15:37] local.INFO: storeweightliftingdaily function called.  
[2026-06-17 01:15:37] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:15:37] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":210,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":73,"reps":6,"round_number":"1/1","exercise_time":"09:58","date":"17/06/26 Wednesday","status":"completed","weight":60,"set_number":1,"class_Id":334},{"workout_manager_id":210,"workout_type":"weightlifting","workout_format_type":"amrap","workout_format_id":74,"reps":0,"round_number":"1/1","exercise_time":"09:58","date":"17/06/26 Wednesday","status":"completed","weight":500,"set_number":1,"class_Id":334}]} 
[2026-06-17 01:15:37] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-06-17 01:15:37] local.INFO: New weightlifting record created {"workout_manager_id":210,"set_number":1} 
[2026-06-17 01:15:37] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-06-17 01:15:37] local.INFO: New weightlifting record created {"workout_manager_id":210,"set_number":1} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[17,118,71],"test_ids":[101,102,103]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118,71],"testMap_sample":{"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"71":{"test_id":103,"weight":200.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:14:26"}}} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[206,207,208,209,210],"types":["warmup","strength","conditioning","accessory","weightlifting"]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[206,207,208,209,210]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[206,207,208,209,210],"types":["Warmup","Strength","Conditioning","Accessory","Weightlifting"],"formats":["rounds","straight-sets","intervals","emom","amrap"]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118,71]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":112,"workout_libraries_id":16,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":113,"workout_libraries_id":21,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":114,"workout_libraries_id":25,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":206,"relation":"rounds","format_row_id":115,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":115,"workout_manager_id":206,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-17T01:03:12.000000Z","updated_at":"2026-06-17T01:03:12.000000Z","is_for_time":1,"time_to_complete":"00:05:30","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":115,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":207,"relation":"straights","format_row_id":82,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":82,"workout_manager_id":207,"workout_libraries_id":118,"training_load":50,"unit_type":"%","reps":5,"created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":82,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":274,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":50,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":275,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":60,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":276,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":70,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":277,"workout_libraries_id":118,"straight_id":82,"res":null,"training_load":80,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":67,"workout_libraries_id":23,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":68,"workout_libraries_id":16,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":69,"workout_libraries_id":21,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":70,"workout_libraries_id":37,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":209,"relation":"emoms","format_row_id":44,"workout_libraries_id":60,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":210,"relation":"amraps","format_row_id":73,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":73,"workout_manager_id":210,"workout_libraries_id":71,"training_load":60,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-17T01:08:44.000000Z","updated_at":"2026-06-17T01:08:44.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":73,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}}}} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":210,"relation":"amraps","format_row_id":74,"workout_libraries_id":98,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":12,"rows_with_lib_id":12,"rows_matched":3,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":4},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":112,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":113,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":114,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":115,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:15:37] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":73,"class_id":334,"round_entries":["1/1"]} 
[2026-06-17 01:15:37] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-06-17 01:15:37] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:15:37] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":74,"class_id":334,"round_entries":["1/1"]} 
[2026-06-17 01:15:37] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-06-17 01:15:37] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":4,"completed":4,"status":1} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":1,"completed":0,"status":0} 
[2026-06-17 01:15:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":2,"completed":0,"status":0} 
[2026-06-17 01:15:37] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:15:37] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:15:37] local.INFO: Tests retrieved {"count":3,"tests":[{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-17 01:18:06] local.INFO: storeconditioningdaily function called.  
[2026-06-17 01:18:06] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:18:06] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":208,"workout_format_type":"intervals","workout_format_id":67,"reps":3,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:18:06] local.INFO: Conditioning saved successfully {"workout_manager_id":208} 
[2026-06-17 01:18:36] local.INFO: storeconditioningdaily function called.  
[2026-06-17 01:18:36] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:18:36] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":208,"workout_format_type":"intervals","workout_format_id":68,"reps":5,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:18:36] local.INFO: Conditioning saved successfully {"workout_manager_id":208} 
[2026-06-17 01:19:07] local.INFO: storeconditioningdaily function called.  
[2026-06-17 01:19:07] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:19:07] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":208,"workout_format_type":"intervals","workout_format_id":69,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:19:07] local.INFO: Conditioning saved successfully {"workout_manager_id":208} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:20:32] local.INFO: storeconditioningdaily function called.  
[2026-06-17 01:20:32] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:20:32] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 01:20:32] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":208,"workout_format_type":"intervals","workout_format_id":70,"reps":5,"set_number":3,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[17,118,71],"test_ids":[101,102,103]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118,71],"testMap_sample":{"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"71":{"test_id":103,"weight":200.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:14:26"}}} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[206,207,208,209,210],"types":["warmup","strength","conditioning","accessory","weightlifting"]} 
[2026-06-17 01:20:32] local.INFO: Conditioning saved successfully {"workout_manager_id":208} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[206,207,208,209,210]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[206,207,208,209,210],"types":["Warmup","Strength","Conditioning","Accessory","Weightlifting"],"formats":["rounds","straight-sets","intervals","emom","amrap"]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118,71]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":112,"workout_libraries_id":16,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":113,"workout_libraries_id":21,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":114,"workout_libraries_id":25,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":206,"relation":"rounds","format_row_id":115,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":115,"workout_manager_id":206,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-17T01:03:12.000000Z","updated_at":"2026-06-17T01:03:12.000000Z","is_for_time":1,"time_to_complete":"00:05:30","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":115,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":207,"relation":"straights","format_row_id":82,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":82,"workout_manager_id":207,"workout_libraries_id":118,"training_load":50,"unit_type":"%","reps":5,"created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":82,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":274,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":50,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":275,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":60,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":276,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":70,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":277,"workout_libraries_id":118,"straight_id":82,"res":null,"training_load":80,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":67,"workout_libraries_id":23,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":68,"workout_libraries_id":16,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":69,"workout_libraries_id":21,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":70,"workout_libraries_id":37,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":209,"relation":"emoms","format_row_id":44,"workout_libraries_id":60,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":210,"relation":"amraps","format_row_id":73,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":73,"workout_manager_id":210,"workout_libraries_id":71,"training_load":60,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-17T01:08:44.000000Z","updated_at":"2026-06-17T01:08:44.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":73,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}}}} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":210,"relation":"amraps","format_row_id":74,"workout_libraries_id":98,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":12,"rows_with_lib_id":12,"rows_matched":3,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":4},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":112,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:20:32] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":113,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":114,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":115,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":208,"workout_format_id":67,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":208,"workout_format_id":68,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":208,"workout_format_id":69,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":208,"workout_format_id":70,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:20:33] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":73,"class_id":334,"round_entries":["1/1"]} 
[2026-06-17 01:20:33] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-06-17 01:20:33] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:20:33] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":74,"class_id":334,"round_entries":["1/1"]} 
[2026-06-17 01:20:33] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-06-17 01:20:33] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":4,"completed":4,"status":1} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":1,"completed":0,"status":0} 
[2026-06-17 01:20:33] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":2,"completed":0,"status":0} 
[2026-06-17 01:20:33] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:20:33] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:20:33] local.INFO: Tests retrieved {"count":3,"tests":[{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-17 01:21:52] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:21:52] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":209,"workout_format_type":"emom","workout_format_id":44,"reps":0,"set_number":1,"round_number":"1/5","weight":50,"exercise_time":"01:00","notes":null,"status":"incompleted","date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:21:52] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-06-17 01:21:52] local.INFO: New accessory record created {"workout_manager_id":209,"set_number":1} 
[2026-06-17 01:22:54] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:22:54] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":209,"workout_format_type":"emom","workout_format_id":44,"reps":0,"set_number":1,"round_number":"2/5","weight":50,"exercise_time":"01:00","notes":null,"status":"incompleted","date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:22:54] local.INFO: Existing accessory record: {"dailyAccessory":{"id":22,"class_id":334,"round_number":"1/5","member_id":9,"workout_manager_id":209,"workout_format_type":"emom","workout_format_id":44,"set_number":1,"reps":0,"weight":"50","date":"17/06/26 Wednesday","created_at":"2026-06-17T01:21:52.000000Z","updated_at":"2026-06-17T01:21:52.000000Z","exercise_time":"01:00","notes":null}} 
[2026-06-17 01:22:54] local.INFO: Accessory updated {"workout_manager_id":209,"set_number":1} 
[2026-06-17 01:23:56] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:23:56] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":209,"workout_format_type":"emom","workout_format_id":44,"reps":0,"set_number":1,"round_number":"3/5","weight":50,"exercise_time":"01:00","notes":null,"status":"incompleted","date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:23:56] local.INFO: Existing accessory record: {"dailyAccessory":{"id":22,"class_id":334,"round_number":"2/5","member_id":9,"workout_manager_id":209,"workout_format_type":"emom","workout_format_id":44,"set_number":1,"reps":0,"weight":"50","date":"17/06/26 Wednesday","created_at":"2026-06-17T01:21:52.000000Z","updated_at":"2026-06-17T01:22:54.000000Z","exercise_time":"01:00","notes":null}} 
[2026-06-17 01:23:56] local.INFO: Accessory updated {"workout_manager_id":209,"set_number":1} 
[2026-06-17 01:24:58] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:24:58] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":209,"workout_format_type":"emom","workout_format_id":44,"reps":0,"set_number":1,"round_number":"4/5","weight":50,"exercise_time":"01:00","notes":null,"status":"incompleted","date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:24:58] local.INFO: Existing accessory record: {"dailyAccessory":{"id":22,"class_id":334,"round_number":"3/5","member_id":9,"workout_manager_id":209,"workout_format_type":"emom","workout_format_id":44,"set_number":1,"reps":0,"weight":"50","date":"17/06/26 Wednesday","created_at":"2026-06-17T01:21:52.000000Z","updated_at":"2026-06-17T01:23:56.000000Z","exercise_time":"01:00","notes":null}} 
[2026-06-17 01:24:58] local.INFO: Accessory updated {"workout_manager_id":209,"set_number":1} 
[2026-06-17 01:26:00] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:26:00] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":209,"workout_format_type":"emom","workout_format_id":44,"reps":10,"weight":50,"date":"17/06/26 Wednesday","exercise_time":"00:00","set_number":1,"round_number":"5/5","class_Id":334}]} 
[2026-06-17 01:26:00] local.INFO: Existing accessory record: {"dailyAccessory":{"id":22,"class_id":334,"round_number":"4/5","member_id":9,"workout_manager_id":209,"workout_format_type":"emom","workout_format_id":44,"set_number":1,"reps":0,"weight":"50","date":"17/06/26 Wednesday","created_at":"2026-06-17T01:21:52.000000Z","updated_at":"2026-06-17T01:24:58.000000Z","exercise_time":"01:00","notes":null}} 
[2026-06-17 01:26:00] local.INFO: Accessory updated {"workout_manager_id":209,"set_number":1} 
[2026-06-17 01:26:00] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-17 01:26:00] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":209,"workout_format_type":"emom","workout_format_id":44,"reps":0,"set_number":1,"round_number":"5/5","weight":50,"exercise_time":"01:00","notes":null,"status":"incompleted","date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 01:26:00] local.INFO: Existing accessory record: {"dailyAccessory":{"id":22,"class_id":334,"round_number":"5/5","member_id":9,"workout_manager_id":209,"workout_format_type":"emom","workout_format_id":44,"set_number":1,"reps":10,"weight":"50","date":"17/06/26 Wednesday","created_at":"2026-06-17T01:21:52.000000Z","updated_at":"2026-06-17T01:26:00.000000Z","exercise_time":"00:00","notes":null}} 
[2026-06-17 01:26:00] local.INFO: Accessory updated {"workout_manager_id":209,"set_number":1} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[17,118,71],"test_ids":[101,102,103]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118,71],"testMap_sample":{"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"71":{"test_id":103,"weight":200.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:14:26"}}} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[206,207,208,209,210],"types":["warmup","strength","conditioning","accessory","weightlifting"]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[206,207,208,209,210]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[206,207,208,209,210],"types":["Warmup","Strength","Conditioning","Accessory","Weightlifting"],"formats":["rounds","straight-sets","intervals","emom","amrap"]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118,71]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":112,"workout_libraries_id":16,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":113,"workout_libraries_id":21,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":206,"relation":"rounds","format_row_id":114,"workout_libraries_id":25,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":206,"relation":"rounds","format_row_id":115,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":115,"workout_manager_id":206,"workout_libraries_id":17,"training_load":50,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-17T01:03:12.000000Z","updated_at":"2026-06-17T01:03:12.000000Z","is_for_time":1,"time_to_complete":"00:05:30","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":115,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":207,"relation":"straights","format_row_id":82,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":82,"workout_manager_id":207,"workout_libraries_id":118,"training_load":50,"unit_type":"%","reps":5,"created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":82,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":274,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":50,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":275,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":60,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":276,"workout_libraries_id":118,"straight_id":82,"res":5,"training_load":70,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":277,"workout_libraries_id":118,"straight_id":82,"res":null,"training_load":80,"unittype":"%","created_at":"2026-06-17T01:04:30.000000Z","updated_at":"2026-06-17T01:04:30.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":67,"workout_libraries_id":23,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":68,"workout_libraries_id":16,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":69,"workout_libraries_id":21,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":208,"relation":"intervals","format_row_id":70,"workout_libraries_id":37,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":209,"relation":"emoms","format_row_id":44,"workout_libraries_id":60,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":210,"relation":"amraps","format_row_id":73,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":73,"workout_manager_id":210,"workout_libraries_id":71,"training_load":60,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-17T01:08:44.000000Z","updated_at":"2026-06-17T01:08:44.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":73,"format_relation":"amraps","format_table":"amraps","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}}}} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":210,"relation":"amraps","format_row_id":74,"workout_libraries_id":98,"available_test_library_ids":[17,118,71]} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":12,"rows_with_lib_id":12,"rows_matched":3,"rows_not_matched":9,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":4},"amraps":{"seen":2,"matched":1,"not_matched":1,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":112,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":113,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":114,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":206,"workout_format_id":115,"exists":true,"isCompleted":true,"round_number":"4/4","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":208,"workout_format_id":67,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":208,"workout_format_id":68,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":208,"workout_format_id":69,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":208,"workout_format_id":70,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":209,"workout_format_id":44,"exists":true,"isCompleted":true,"round_number":"5/5","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:26:01] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":73,"class_id":334,"round_entries":["1/1"]} 
[2026-06-17 01:26:01] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-06-17 01:26:01] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-17 01:26:01] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":210,"workout_format_type":"amrap","workout_format_id":74,"class_id":334,"round_entries":["1/1"]} 
[2026-06-17 01:26:01] local.INFO: Parsed round progress {"round":"1/1","done":"1","total":"1"} 
[2026-06-17 01:26:01] local.INFO: Updated rounds done/total {"rounds_done":1,"rounds_total":1} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":4,"completed":4,"status":1} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":4,"status":1} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":1,"completed":1,"status":1} 
[2026-06-17 01:26:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":2,"completed":0,"status":0} 
[2026-06-17 01:26:01] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:26:01] local.INFO: Tests retrieved {"count":3,"tests":[{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-17 01:58:07] local.INFO: assignWorkoutToClass:  {"workout_id":210,"class_id":334,"type":"workout_manager","action":"unassign","date":"17/06/26 Wednesday"} 
[2026-06-17 01:58:07] local.INFO: Saved type row weightlifting  
[2026-06-17 01:58:07] local.INFO: Saved type row accessory  
[2026-06-17 01:58:07] local.INFO: Saved type row conditioning  
[2026-06-17 01:58:07] local.INFO: Saved type row strength  
[2026-06-17 01:58:07] local.INFO: Saved type row warmup  
[2026-06-17 01:58:07] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:58:09] local.INFO: assignWorkoutToClass:  {"workout_id":209,"class_id":334,"type":"workout_manager","action":"unassign","date":"17/06/26 Wednesday"} 
[2026-06-17 01:58:10] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:58:10] local.INFO: Saved type row weightlifting  
[2026-06-17 01:58:10] local.INFO: Saved type row accessory  
[2026-06-17 01:58:10] local.INFO: Saved type row conditioning  
[2026-06-17 01:58:10] local.INFO: Saved type row strength  
[2026-06-17 01:58:10] local.INFO: Saved type row warmup  
[2026-06-17 01:58:13] local.INFO: assignWorkoutToClass:  {"workout_id":208,"class_id":334,"type":"workout_manager","action":"unassign","date":"17/06/26 Wednesday"} 
[2026-06-17 01:58:13] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:58:13] local.INFO: Saved type row weightlifting  
[2026-06-17 01:58:13] local.INFO: Saved type row accessory  
[2026-06-17 01:58:13] local.INFO: Saved type row conditioning  
[2026-06-17 01:58:13] local.INFO: Saved type row strength  
[2026-06-17 01:58:13] local.INFO: Saved type row warmup  
[2026-06-17 01:58:17] local.INFO: assignWorkoutToClass:  {"workout_id":207,"class_id":334,"type":"workout_manager","action":"unassign","date":"17/06/26 Wednesday"} 
[2026-06-17 01:58:17] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 01:58:17] local.INFO: Saved type row weightlifting  
[2026-06-17 01:58:17] local.INFO: Saved type row accessory  
[2026-06-17 01:58:17] local.INFO: Saved type row conditioning  
[2026-06-17 01:58:17] local.INFO: Saved type row strength  
[2026-06-17 01:58:17] local.INFO: Saved type row warmup  
[2026-06-17 01:58:19] local.INFO: assignWorkoutToClass:  {"workout_id":206,"class_id":334,"type":"workout_manager","action":"unassign","date":"17/06/26 Wednesday"} 
[2026-06-17 01:58:19] local.INFO: Saved type row weightlifting  
[2026-06-17 01:58:19] local.INFO: Saved type row accessory  
[2026-06-17 01:58:19] local.INFO: Saved type row conditioning  
[2026-06-17 01:58:19] local.INFO: Saved type row strength  
[2026-06-17 01:58:19] local.INFO: Saved type row warmup  
[2026-06-17 01:58:19] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:34:21] local.INFO: Tab value: all  
[2026-06-17 02:34:22] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-17 02:36:38] local.INFO: Tab value: all  
[2026-06-17 02:37:30] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:37:30] local.INFO: Saved type row weightlifting  
[2026-06-17 02:37:30] local.INFO: Saved type row accessory  
[2026-06-17 02:37:30] local.INFO: Saved type row conditioning  
[2026-06-17 02:37:30] local.INFO: Saved type row strength  
[2026-06-17 02:37:30] local.INFO: Saved type row warmup  
[2026-06-17 02:37:43] local.INFO: Store Class Request Data: {"_token":"MPnKIbhQeRenKZYbXoT2GX4u175On8W4FELmu467","selectdatecla":"17/06/26 Wednesday","time":"23:00","duration":"1","spots":"20"} 
[2026-06-17 02:37:43] local.INFO: Creating single class. Date input: 17/06/26 Wednesday  
[2026-06-17 02:37:43] local.INFO: Parsed start date: 2026-06-17  
[2026-06-17 02:37:43] local.INFO: createClass helper called. Date: 17/06/26 Wednesday, Time: 23:00, Spots: 20  
[2026-06-17 02:37:43] local.INFO: Class created: 483  
[2026-06-17 02:37:43] local.INFO: Single class creation called successfully.  
[2026-06-17 02:37:46] local.INFO: Tab value: all  
[2026-06-17 02:37:55] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:37:55] local.INFO: Saved type row weightlifting  
[2026-06-17 02:37:55] local.INFO: Saved type row accessory  
[2026-06-17 02:37:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:37:55] local.INFO: Saved type row strength  
[2026-06-17 02:37:55] local.INFO: Saved type row warmup  
[2026-06-17 02:37:56] local.INFO: Tab value: all  
[2026-06-17 02:39:04] local.INFO: Tab value: all  
[2026-06-17 02:39:31] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:39:31] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:31] local.INFO: Saved type row accessory  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row accessory  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row accessory  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row accessory  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:31] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:31] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:31] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row accessory  
[2026-06-17 02:39:31] local.INFO: Saved type row accessory  
[2026-06-17 02:39:31] local.INFO: Saved type row accessory  
[2026-06-17 02:39:31] local.INFO: Saved type row accessory  
[2026-06-17 02:39:31] local.INFO: Saved type row accessory  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:31] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:31] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:31] local.INFO: Saved type row strength  
[2026-06-17 02:39:31] local.INFO: Saved type row warmup  
[2026-06-17 02:39:33] local.INFO: Tab value: all  
[2026-06-17 02:39:33] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row accessory  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:34] local.INFO: Saved type row strength  
[2026-06-17 02:39:34] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: assignWorkoutToClass:  {"workout_id":202,"class_id":"all","type":"workout_manager","action":"assign_all","date":"17/06/26 Wednesday"} 
[2026-06-17 02:39:37] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-17 02:39:37] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-17 02:39:37] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:39:37] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:37] local.INFO: Saved type row accessory  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row accessory  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row accessory  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row accessory  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:37] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:37] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:37] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row accessory  
[2026-06-17 02:39:37] local.INFO: Saved type row accessory  
[2026-06-17 02:39:37] local.INFO: Saved type row accessory  
[2026-06-17 02:39:37] local.INFO: Saved type row accessory  
[2026-06-17 02:39:37] local.INFO: Saved type row accessory  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row conditioning  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:39:37] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:37] local.INFO: Saved type row weightlifting  
[2026-06-17 02:39:37] local.INFO: Saved type row strength  
[2026-06-17 02:39:37] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Tab value: all  
[2026-06-17 02:40:21] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:40:21] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:21] local.INFO: Saved type row accessory  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row accessory  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row accessory  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row accessory  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:21] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:21] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:21] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row accessory  
[2026-06-17 02:40:21] local.INFO: Saved type row accessory  
[2026-06-17 02:40:21] local.INFO: Saved type row accessory  
[2026-06-17 02:40:21] local.INFO: Saved type row accessory  
[2026-06-17 02:40:21] local.INFO: Saved type row accessory  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:21] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:21] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:21] local.INFO: Saved type row strength  
[2026-06-17 02:40:21] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:22] local.INFO: Saved type row accessory  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row accessory  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row accessory  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row accessory  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:22] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:22] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:22] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row accessory  
[2026-06-17 02:40:22] local.INFO: Saved type row accessory  
[2026-06-17 02:40:22] local.INFO: Saved type row accessory  
[2026-06-17 02:40:22] local.INFO: Saved type row accessory  
[2026-06-17 02:40:22] local.INFO: Saved type row accessory  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:22] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:22] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:22] local.INFO: Saved type row strength  
[2026-06-17 02:40:22] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-17 02:40:24] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:24] local.INFO: Saved type row accessory  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row accessory  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row accessory  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row accessory  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:24] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:24] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:24] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row accessory  
[2026-06-17 02:40:24] local.INFO: Saved type row accessory  
[2026-06-17 02:40:24] local.INFO: Saved type row accessory  
[2026-06-17 02:40:24] local.INFO: Saved type row accessory  
[2026-06-17 02:40:24] local.INFO: Saved type row accessory  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:24] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:24] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:24] local.INFO: Saved type row strength  
[2026-06-17 02:40:24] local.INFO: Saved type row warmup  
[2026-06-17 02:40:26] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-17 02:40:27] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:27] local.INFO: Saved type row accessory  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row accessory  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row accessory  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row accessory  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:27] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:27] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:27] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row accessory  
[2026-06-17 02:40:27] local.INFO: Saved type row accessory  
[2026-06-17 02:40:27] local.INFO: Saved type row accessory  
[2026-06-17 02:40:27] local.INFO: Saved type row accessory  
[2026-06-17 02:40:27] local.INFO: Saved type row accessory  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row conditioning  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:40:27] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:27] local.INFO: Saved type row weightlifting  
[2026-06-17 02:40:27] local.INFO: Saved type row strength  
[2026-06-17 02:40:27] local.INFO: Saved type row warmup  
[2026-06-17 02:41:14] local.INFO: mobile login pin : 3333  
[2026-06-17 02:41:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 02:41:23] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-17 02:41:23] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:41:23] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:41:23] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-17 02:42:09] local.INFO: storeconditioningdaily function called.  
[2026-06-17 02:42:09] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-17 02:42:09] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":63,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 02:42:09] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-17 02:42:40] local.INFO: storeconditioningdaily function called.  
[2026-06-17 02:42:40] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-17 02:42:40] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":64,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 02:42:40] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-17 02:43:10] local.INFO: storeconditioningdaily function called.  
[2026-06-17 02:43:10] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-17 02:43:10] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":65,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 02:43:10] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 02:43:40] local.INFO: storeconditioningdaily function called.  
[2026-06-17 02:43:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 02:43:40] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-17 02:43:40] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":66,"reps":0,"set_number":3,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":334}]} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":0,"library_ids":[],"test_ids":[]} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[],"testMap_sample":[]} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 02:43:40] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[]} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"available_test_library_ids":[]} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"available_test_library_ids":[]} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[]} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[]} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":0,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":0,"not_matched":4,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":63,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":64,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":65,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":66,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 02:43:40] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-17 02:43:40] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:43:40] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:43:40] local.INFO: Tests retrieved {"count":0,"tests":[]} 
[2026-06-17 02:48:54] local.INFO: Tab value: all  
[2026-06-17 02:48:54] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:48:55] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:55] local.INFO: Saved type row accessory  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row accessory  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row accessory  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row accessory  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:55] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:55] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:55] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row accessory  
[2026-06-17 02:48:55] local.INFO: Saved type row accessory  
[2026-06-17 02:48:55] local.INFO: Saved type row accessory  
[2026-06-17 02:48:55] local.INFO: Saved type row accessory  
[2026-06-17 02:48:55] local.INFO: Saved type row accessory  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:55] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:55] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:55] local.INFO: Saved type row strength  
[2026-06-17 02:48:55] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:56] local.INFO: Saved type row accessory  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row accessory  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row accessory  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row accessory  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:56] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:56] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:56] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row accessory  
[2026-06-17 02:48:56] local.INFO: Saved type row accessory  
[2026-06-17 02:48:56] local.INFO: Saved type row accessory  
[2026-06-17 02:48:56] local.INFO: Saved type row accessory  
[2026-06-17 02:48:56] local.INFO: Saved type row accessory  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row conditioning  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:48:56] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:56] local.INFO: Saved type row weightlifting  
[2026-06-17 02:48:56] local.INFO: Saved type row strength  
[2026-06-17 02:48:56] local.INFO: Saved type row warmup  
[2026-06-17 02:53:56] local.INFO: Tab value: all  
[2026-06-17 02:53:57] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row warmup  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row strength  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:57] local.INFO: Saved type row accessory  
[2026-06-17 02:53:58] local.INFO: Saved type row accessory  
[2026-06-17 02:53:58] local.INFO: Saved type row accessory  
[2026-06-17 02:53:58] local.INFO: Saved type row accessory  
[2026-06-17 02:53:58] local.INFO: Saved type row warmup  
[2026-06-17 02:53:58] local.INFO: Saved type row warmup  
[2026-06-17 02:53:58] local.INFO: Saved type row warmup  
[2026-06-17 02:53:58] local.INFO: Saved type row strength  
[2026-06-17 02:53:58] local.INFO: Saved type row warmup  
[2026-06-17 02:53:58] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:58] local.INFO: Saved type row strength  
[2026-06-17 02:53:58] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:58] local.INFO: Saved type row strength  
[2026-06-17 02:53:58] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:58] local.INFO: Saved type row strength  
[2026-06-17 02:53:58] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:58] local.INFO: Saved type row strength  
[2026-06-17 02:53:58] local.INFO: Saved type row warmup  
[2026-06-17 02:53:58] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:58] local.INFO: Saved type row conditioning  
[2026-06-17 02:53:58] local.INFO: Saved type row strength  
[2026-06-17 02:53:58] local.INFO: Saved type row warmup  
[2026-06-17 02:53:58] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:58] local.INFO: Saved type row weightlifting  
[2026-06-17 02:53:58] local.INFO: Saved type row strength  
[2026-06-17 02:53:58] local.INFO: Saved type row warmup  
[2026-06-17 02:54:22] local.INFO: mobile login pin : 7825  
[2026-06-17 02:54:26] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 02:54:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 02:54:26] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 02:54:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[17,118,71],"test_ids":[101,102,103]} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118,71],"testMap_sample":{"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"71":{"test_id":103,"weight":200.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:14:26"}}} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118,71]} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"available_test_library_ids":[17,118,71]} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[17,118,71]} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[17,118,71]} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":1,"not_matched":3,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 02:54:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-17 02:54:27] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:54:27] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:54:27] local.INFO: Tests retrieved {"count":3,"tests":[{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-17 02:55:17] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-17 02:55:17] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:17] local.INFO: Saved type row accessory  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row accessory  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row accessory  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row accessory  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:17] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:17] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:17] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row accessory  
[2026-06-17 02:55:17] local.INFO: Saved type row accessory  
[2026-06-17 02:55:17] local.INFO: Saved type row accessory  
[2026-06-17 02:55:17] local.INFO: Saved type row accessory  
[2026-06-17 02:55:17] local.INFO: Saved type row accessory  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:17] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:17] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:17] local.INFO: Saved type row strength  
[2026-06-17 02:55:17] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 02:55:20] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:20] local.INFO: Saved type row accessory  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row accessory  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row accessory  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row accessory  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:20] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:20] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:20] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row accessory  
[2026-06-17 02:55:20] local.INFO: Saved type row accessory  
[2026-06-17 02:55:20] local.INFO: Saved type row accessory  
[2026-06-17 02:55:20] local.INFO: Saved type row accessory  
[2026-06-17 02:55:20] local.INFO: Saved type row accessory  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row conditioning  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 02:55:20] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:20] local.INFO: Saved type row weightlifting  
[2026-06-17 02:55:20] local.INFO: Saved type row strength  
[2026-06-17 02:55:20] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Tab value: all  
[2026-06-17 03:01:28] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 03:01:28] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:28] local.INFO: Saved type row accessory  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row accessory  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row accessory  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row accessory  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:28] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:28] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:28] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row accessory  
[2026-06-17 03:01:28] local.INFO: Saved type row accessory  
[2026-06-17 03:01:28] local.INFO: Saved type row accessory  
[2026-06-17 03:01:28] local.INFO: Saved type row accessory  
[2026-06-17 03:01:28] local.INFO: Saved type row accessory  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:28] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:28] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:28] local.INFO: Saved type row strength  
[2026-06-17 03:01:28] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:29] local.INFO: Saved type row accessory  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row accessory  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row accessory  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row accessory  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:29] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:29] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:29] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row accessory  
[2026-06-17 03:01:29] local.INFO: Saved type row accessory  
[2026-06-17 03:01:29] local.INFO: Saved type row accessory  
[2026-06-17 03:01:29] local.INFO: Saved type row accessory  
[2026-06-17 03:01:29] local.INFO: Saved type row accessory  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row conditioning  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:01:29] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:29] local.INFO: Saved type row weightlifting  
[2026-06-17 03:01:29] local.INFO: Saved type row strength  
[2026-06-17 03:01:29] local.INFO: Saved type row warmup  
[2026-06-17 03:54:58] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts][PART A] testsForDay retrieved {"count":3,"library_ids":[17,118,71],"test_ids":[101,102,103]} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[17,118,71],"testMap_sample":{"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"71":{"test_id":103,"weight":200.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:14:26"}}} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[17,118,71]} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"available_test_library_ids":[17,118,71]} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[17,118,71]} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[17,118,71]} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":1,"not_matched":3,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 03:54:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-17 03:54:58] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 03:54:58] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 03:54:58] local.INFO: Tests retrieved {"count":3,"tests":[{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-17 05:51:18] local.INFO: Tab value: all  
[2026-06-17 05:51:19] local.INFO: Day received: {"day":"17/06/26 Wednesday"} 
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row accessory  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row conditioning  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row weightlifting  
[2026-06-17 05:51:19] local.INFO: Saved type row strength  
[2026-06-17 05:51:19] local.INFO: Saved type row warmup  
[2026-06-17 13:09:22] local.INFO: mobile login pin : 3333  
[2026-06-17 13:09:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":64,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":21,"training_load":100,"unit_type":"Cal","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":64,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":2,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":2,"not_matched":2,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":63,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":64,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":65,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":66,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:28] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-17 13:09:28] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:09:28] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:09:28] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-17 13:09:45] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyWarmup","workout_format_id":32,"workout_format_type":"intervals"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyWarmup","workout_format_id":33,"workout_format_type":"intervals"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":79,"model":"App\\Models\\DailyWarmup","workout_format_id":34,"workout_format_type":"intervals"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":80,"model":"App\\Models\\DailyWarmup","workout_format_id":35,"workout_format_type":"intervals"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyWarmup","workout_format_id":36,"workout_format_type":"intervals"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":85,"model":"App\\Models\\DailyWarmup","workout_format_id":268,"workout_format_type":"straight-sets"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":86,"model":"App\\Models\\DailyWarmup","workout_format_id":56,"workout_format_type":"intervals"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":87,"model":"App\\Models\\DailyWarmup","workout_format_id":57,"workout_format_type":"intervals"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":88,"model":"App\\Models\\DailyWarmup","workout_format_id":58,"workout_format_type":"intervals"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":89,"model":"App\\Models\\DailyWarmup","workout_format_id":59,"workout_format_type":"intervals"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":11,"format_type":"rounds","format_id":1,"library_id":17,"type":"Warmup","weight":25} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":30,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":32,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":33,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":36,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":38,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":40,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":41,"library_id":17,"type":"Warmup","weight":80} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":45,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":47,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":49,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":51,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":40,"library_id":17,"type":"Warmup","weight":66} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":66,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":67,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":69,"format_type":"amrap","format_id":65,"library_id":17,"type":"Warmup","weight":55} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":71,"format_type":"amrap","format_id":67,"library_id":17,"type":"Warmup","weight":77} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":67,"model":"App\\Models\\DailyStrength","workout_format_id":14,"workout_format_type":"straight-sets"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":66,"model":"App\\Models\\DailyStrength","workout_format_id":13,"workout_format_type":"straight-sets"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyStrength","workout_format_id":12,"workout_format_type":"straight-sets"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":64,"model":"App\\Models\\DailyStrength","workout_format_id":11,"workout_format_type":"straight-sets"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":63,"model":"App\\Models\\DailyStrength","workout_format_id":10,"workout_format_type":"straight-sets"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyStrength","workout_format_id":9,"workout_format_type":"straight-sets"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyStrength","workout_format_id":8,"workout_format_type":"straight-sets"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyStrength","workout_format_id":7,"workout_format_type":"straight-sets"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyStrength","workout_format_id":252,"workout_format_type":"straight-sets"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":69,"format_type":"rounds","format_id":3,"library_id":17,"type":"Strength","weight":"8.75"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":86,"format_type":"straight-sets","format_id":128,"library_id":17,"type":"Strength","weight":"7.5"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyWeightlifting","workout_format_id":110,"workout_format_type":"rounds"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":32,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":0} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":22,"library_id":17,"type":"Weightlifting","weight":"12"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":38,"format_type":"circuit","format_id":4,"library_id":17,"type":"Weightlifting","weight":"45"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":41,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":42,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":43,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":44,"format_type":"amrap","format_id":45,"library_id":17,"type":"Weightlifting","weight":"80"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":53,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":55,"format_type":"amrap","format_id":68,"library_id":17,"type":"Weightlifting","weight":"55"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":4,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":5,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":6,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":7,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":8,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":9,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":10,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":11,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":12,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":13,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":14,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":15,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyConditioning","workout_format_id":14,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":22,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":23,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":24,"model":"App\\Models\\DailyConditioning","workout_format_id":16,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":25,"model":"App\\Models\\DailyConditioning","workout_format_id":17,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":26,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":27,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":28,"model":"App\\Models\\DailyConditioning","workout_format_id":18,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.WARNING: Workout format missing for item {"daily_id":29,"model":"App\\Models\\DailyConditioning","workout_format_id":19,"workout_format_type":"amrap"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":34,"format_type":"rounds","format_id":18,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":84,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":86,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":88,"format_type":"amrap","format_id":50,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":109,"format_type":"straight-sets","format_id":241,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":131,"format_type":"intervals","format_id":63,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":1,"format_type":"intervals","format_id":9,"library_id":17,"type":"Accessory","weight":"12"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":5,"format_type":"straight-sets","format_id":122,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":6,"format_type":"straight-sets","format_id":121,"library_id":17,"type":"Accessory","weight":"0"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":9,"format_type":"straight-sets","format_id":125,"library_id":17,"type":"Accessory","weight":"2.5"} 
[2026-06-17 13:09:46] local.INFO: Debug record {"daily_id":10,"format_type":"straight-sets","format_id":126,"library_id":17,"type":"Accessory","weight":"3.5"} 
[2026-06-17 13:09:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:09:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 13:09:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 13:09:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":64,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":21,"training_load":100,"unit_type":"Cal","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":64,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":2,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":2,"not_matched":2,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":63,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":64,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":65,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":66,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:53] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-17 13:09:53] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:09:53] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:09:53] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":64,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":21,"training_load":100,"unit_type":"Cal","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":64,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":2,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":2,"not_matched":2,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":63,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":64,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":65,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":66,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:55] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-17 13:09:55] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:09:55] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:09:55] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":64,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":21,"training_load":100,"unit_type":"Cal","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":64,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":2,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":2,"not_matched":2,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":63,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":64,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":65,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":66,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:09:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-17 13:09:58] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:09:58] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:09:58] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":64,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":21,"training_load":100,"unit_type":"Cal","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":64,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":2,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":2,"not_matched":2,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":63,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":64,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":65,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":66,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-17 13:10:00] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:10:00] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:10:00] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":64,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":21,"training_load":100,"unit_type":"Cal","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":64,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":2,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":2,"not_matched":2,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":63,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":64,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":65,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":66,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-17 13:10:02] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:10:02] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:10:02] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":64,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":21,"training_load":100,"unit_type":"Cal","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":64,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":2,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":2,"not_matched":2,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":63,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":64,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":65,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":66,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-17 13:10:06] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:10:06] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:10:06] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":334,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":64,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":21,"training_load":100,"unit_type":"Cal","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":64,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":2,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":2,"not_matched":2,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":63,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":64,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":65,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":66,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:10:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":4,"status":1} 
[2026-06-17 13:10:08] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:10:08] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:10:08] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":483,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":483,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":483,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":483,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":64,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":21,"training_load":100,"unit_type":"Cal","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":64,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":2,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":2,"not_matched":2,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 13:10:16] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":0,"status":0} 
[2026-06-17 13:10:16] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:10:16] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:10:16] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-17 13:11:05] local.INFO: storeconditioningdaily function called.  
[2026-06-17 13:11:05] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-17 13:11:05] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":63,"reps":0,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":483}]} 
[2026-06-17 13:11:05] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-17 13:11:35] local.INFO: storeconditioningdaily function called.  
[2026-06-17 13:11:35] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-17 13:11:35] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":64,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":483}]} 
[2026-06-17 13:11:35] local.INFO: storeconditioningdaily function called.  
[2026-06-17 13:11:35] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-17 13:11:35] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":202,"workout_format_type":"intervals","workout_format_id":65,"reps":0,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"17/06/26 Wednesday","class_Id":483}]} 
[2026-06-17 13:11:35] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-17 13:11:35] local.INFO: Conditioning saved successfully {"workout_manager_id":202} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":483,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":483,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":483,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":483,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":64,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":21,"training_load":100,"unit_type":"Cal","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":64,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":2,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":2,"not_matched":2,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":63,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":64,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":65,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:11:50] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":3,"status":0} 
[2026-06-17 13:11:50] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:11:50] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:11:50] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":483,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"17/06/26 Wednesday","date_obj":"2026-06-17"} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":483,"date_string":"17/06/26 Wednesday","patterns":["17/06/26 Wednesday","17/06/26","17/06/2026","17/06/26 Wednesday","17/06/2026 Wednesday","Wednesday 17/06/26","Wednesday 17/06/2026"]} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":483,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":483,"date_string":"17/06/26 Wednesday"} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[202],"types":["conditioning"]} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[202]} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[202],"types":["Conditioning"],"formats":["intervals"]} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":63,"workout_libraries_id":17,"attached_test_id":92,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":63,"stationumber":1,"workout_manager_id":202,"workout_libraries_id":17,"training_load":90,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":92,"test_created_at":"2026-06-15 02:15:40","format_row_id":63,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":202,"relation":"intervals","format_row_id":64,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":64,"stationumber":2,"workout_manager_id":202,"workout_libraries_id":21,"training_load":100,"unit_type":"Cal","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-16T02:09:58.000000Z","updated_at":"2026-06-16T02:09:58.000000Z","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":64,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":65,"workout_libraries_id":25,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":202,"relation":"intervals","format_row_id":66,"workout_libraries_id":23,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":2,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":4,"matched":2,"not_matched":2,"empty":0},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":63,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":64,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":202,"workout_format_id":65,"exists":true,"isCompleted":true,"round_number":"","query_date":"17/06/26 Wednesday","db_date":"17/06/26 Wednesday"} 
[2026-06-17 13:11:53] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":4,"completed":3,"status":0} 
[2026-06-17 13:11:53] local.INFO: Day received (raw): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:11:53] local.INFO: Day received (sanitized): {"day":"17/06/26 Wednesday"} 
[2026-06-17 13:11:53] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":92,"workout_manager_id":193,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:15:40.000000Z","updated_at":"2026-06-15T02:15:40.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-17 21:52:59] local.INFO: mobile login pin : 7825  
[2026-06-17 21:53:23] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-17 21:53:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-17 21:53:23] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-17 21:53:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-17 21:53:23] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-17 21:53:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-17 21:53:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-17 21:53:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-17 21:53:23] local.WARNING: [getWorkouts] No workout assignments found {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-17 21:53:33] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","24":"Conditioning","29":"Strength","56":"Warmup","58":"Select","74":"Weightlifting"}}} 
[2026-06-17 21:53:34] local.INFO: Debug record {"daily_id":96,"format_type":"rounds","format_id":115,"library_id":17,"type":"Warmup","weight":50} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":98,"model":"App\\Models\\DailyStrength","workout_format_id":35,"workout_format_type":"emom"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyStrength","workout_format_id":256,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyStrength","workout_format_id":259,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":109,"model":"App\\Models\\DailyStrength","workout_format_id":260,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":110,"model":"App\\Models\\DailyStrength","workout_format_id":257,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":111,"model":"App\\Models\\DailyStrength","workout_format_id":262,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":112,"model":"App\\Models\\DailyStrength","workout_format_id":263,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":113,"model":"App\\Models\\DailyStrength","workout_format_id":264,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:34] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-17 21:53:34] local.INFO: Debug record {"daily_id":105,"format_type":"straight-sets","format_id":246,"library_id":17,"type":"Strength","weight":"132"} 
[2026-06-17 21:53:34] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyWeightlifting","workout_format_id":110,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"emom"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyConditioning","workout_format_id":25,"workout_format_type":"intervals"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":99,"model":"App\\Models\\DailyConditioning","workout_format_id":27,"workout_format_type":"intervals"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":101,"model":"App\\Models\\DailyConditioning","workout_format_id":70,"workout_format_type":"amrap"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":120,"model":"App\\Models\\DailyConditioning","workout_format_id":60,"workout_format_type":"intervals"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":121,"model":"App\\Models\\DailyConditioning","workout_format_id":61,"workout_format_type":"intervals"} 
[2026-06-17 21:53:35] local.WARNING: Workout format missing for item {"daily_id":122,"model":"App\\Models\\DailyConditioning","workout_format_id":62,"workout_format_type":"intervals"} 
[2026-06-17 21:53:35] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-17 21:53:35] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-17 21:53:35] local.INFO: Debug record {"daily_id":110,"format_type":"straight-sets","format_id":242,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-17 21:53:35] local.INFO: Debug record {"daily_id":115,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-17 21:53:35] local.INFO: Debug record {"daily_id":117,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-17 21:53:35] local.INFO: Debug record {"daily_id":118,"format_type":"straight-sets","format_id":265,"library_id":17,"type":"Conditioning","weight":"132"} 
[2026-06-17 21:53:35] local.INFO: Debug record {"daily_id":119,"format_type":"straight-sets","format_id":266,"library_id":17,"type":"Conditioning","weight":"132"} 
[2026-06-17 21:53:35] local.INFO: Debug record {"daily_id":123,"format_type":"intervals","format_id":63,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-17 21:53:35] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-17 21:53:35] local.INFO: Debug record {"daily_id":16,"format_type":"intervals","format_id":45,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-17 21:53:35] local.INFO: Debug record {"daily_id":21,"format_type":"intervals","format_id":50,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-18 01:04:55] local.INFO: Tab value: all  
[2026-06-18 01:04:56] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 01:04:56] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row accessory  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:04:57] local.INFO: Saved type row strength  
[2026-06-18 01:04:57] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Tab value: all  
[2026-06-18 01:08:10] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row accessory  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row accessory  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row accessory  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row accessory  
[2026-06-18 01:08:10] local.INFO: Saved type row accessory  
[2026-06-18 01:08:10] local.INFO: Saved type row accessory  
[2026-06-18 01:08:10] local.INFO: Saved type row accessory  
[2026-06-18 01:08:10] local.INFO: Saved type row accessory  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:10] local.INFO: Saved type row strength  
[2026-06-18 01:08:10] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row accessory  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row accessory  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row accessory  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:11] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:11] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:11] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row accessory  
[2026-06-18 01:08:11] local.INFO: Saved type row accessory  
[2026-06-18 01:08:11] local.INFO: Saved type row accessory  
[2026-06-18 01:08:11] local.INFO: Saved type row accessory  
[2026-06-18 01:08:11] local.INFO: Saved type row accessory  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:11] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:11] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:11] local.INFO: Saved type row strength  
[2026-06-18 01:08:11] local.INFO: Saved type row warmup  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row accessory  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row accessory  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row accessory  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row warmup  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row warmup  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row strength  
[2026-06-18 01:08:34] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:34] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:34] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:34] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:34] local.INFO: Saved type row accessory  
[2026-06-18 01:08:34] local.INFO: Saved type row accessory  
[2026-06-18 01:08:34] local.INFO: Saved type row accessory  
[2026-06-18 01:08:35] local.INFO: Saved type row accessory  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row accessory  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row accessory  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:35] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:35] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:35] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row accessory  
[2026-06-18 01:08:35] local.INFO: Saved type row accessory  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row weightlifting  
[2026-06-18 01:08:35] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:35] local.INFO: Saved type row warmup  
[2026-06-18 01:08:35] local.INFO: Saved type row strength  
[2026-06-18 01:08:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:36] local.INFO: Saved type row strength  
[2026-06-18 01:08:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:36] local.INFO: Saved type row strength  
[2026-06-18 01:08:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:36] local.INFO: Saved type row strength  
[2026-06-18 01:08:38] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:38] local.INFO: Saved type row strength  
[2026-06-18 01:08:42] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:42] local.INFO: Saved type row strength  
[2026-06-18 01:08:42] local.INFO: Saved type row conditioning  
[2026-06-18 01:08:42] local.INFO: Saved type row strength  
[2026-06-18 01:09:01] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row accessory  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row accessory  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row accessory  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row accessory  
[2026-06-18 01:09:08] local.INFO: Saved type row accessory  
[2026-06-18 01:09:08] local.INFO: Saved type row accessory  
[2026-06-18 01:09:08] local.INFO: Saved type row accessory  
[2026-06-18 01:09:08] local.INFO: Saved type row accessory  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:08] local.INFO: Saved type row strength  
[2026-06-18 01:09:08] local.INFO: Saved type row warmup  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row warmup  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row warmup  
[2026-06-18 01:09:16] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row accessory  
[2026-06-18 01:09:16] local.INFO: Saved type row accessory  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row warmup  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:16] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row warmup  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row warmup  
[2026-06-18 01:09:33] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row accessory  
[2026-06-18 01:09:33] local.INFO: Saved type row accessory  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row warmup  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:33] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row warmup  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row warmup  
[2026-06-18 01:09:41] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row accessory  
[2026-06-18 01:09:41] local.INFO: Saved type row accessory  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row warmup  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:41] local.INFO: Saved type row strength  
[2026-06-18 01:09:45] local.INFO: Saved type row strength  
[2026-06-18 01:09:45] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:45] local.INFO: Saved type row strength  
[2026-06-18 01:09:45] local.INFO: Saved type row strength  
[2026-06-18 01:09:45] local.INFO: Saved type row strength  
[2026-06-18 01:09:45] local.INFO: Saved type row warmup  
[2026-06-18 01:09:45] local.INFO: Saved type row strength  
[2026-06-18 01:09:45] local.INFO: Saved type row strength  
[2026-06-18 01:09:45] local.INFO: Saved type row warmup  
[2026-06-18 01:09:45] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:45] local.INFO: Saved type row strength  
[2026-06-18 01:09:45] local.INFO: Saved type row accessory  
[2026-06-18 01:09:45] local.INFO: Saved type row accessory  
[2026-06-18 01:09:45] local.INFO: Saved type row strength  
[2026-06-18 01:09:45] local.INFO: Saved type row strength  
[2026-06-18 01:09:45] local.INFO: Saved type row strength  
[2026-06-18 01:09:45] local.INFO: Saved type row warmup  
[2026-06-18 01:09:45] local.INFO: Saved type row strength  
[2026-06-18 01:09:45] local.INFO: Saved type row strength  
[2026-06-18 01:09:52] local.INFO: Saved type row strength  
[2026-06-18 01:09:52] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:52] local.INFO: Saved type row strength  
[2026-06-18 01:09:52] local.INFO: Saved type row strength  
[2026-06-18 01:09:52] local.INFO: Saved type row warmup  
[2026-06-18 01:09:52] local.INFO: Saved type row strength  
[2026-06-18 01:09:52] local.INFO: Saved type row strength  
[2026-06-18 01:09:52] local.INFO: Saved type row warmup  
[2026-06-18 01:09:52] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:52] local.INFO: Saved type row strength  
[2026-06-18 01:09:52] local.INFO: Saved type row accessory  
[2026-06-18 01:09:52] local.INFO: Saved type row accessory  
[2026-06-18 01:09:52] local.INFO: Saved type row strength  
[2026-06-18 01:09:52] local.INFO: Saved type row strength  
[2026-06-18 01:09:52] local.INFO: Saved type row strength  
[2026-06-18 01:09:52] local.INFO: Saved type row warmup  
[2026-06-18 01:09:52] local.INFO: Saved type row strength  
[2026-06-18 01:09:52] local.INFO: Saved type row strength  
[2026-06-18 01:09:56] local.INFO: Saved type row strength  
[2026-06-18 01:09:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:56] local.INFO: Saved type row strength  
[2026-06-18 01:09:56] local.INFO: Saved type row warmup  
[2026-06-18 01:09:56] local.INFO: Saved type row strength  
[2026-06-18 01:09:56] local.INFO: Saved type row strength  
[2026-06-18 01:09:56] local.INFO: Saved type row warmup  
[2026-06-18 01:09:56] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:56] local.INFO: Saved type row strength  
[2026-06-18 01:09:56] local.INFO: Saved type row accessory  
[2026-06-18 01:09:56] local.INFO: Saved type row accessory  
[2026-06-18 01:09:56] local.INFO: Saved type row strength  
[2026-06-18 01:09:56] local.INFO: Saved type row strength  
[2026-06-18 01:09:56] local.INFO: Saved type row strength  
[2026-06-18 01:09:56] local.INFO: Saved type row warmup  
[2026-06-18 01:09:56] local.INFO: Saved type row strength  
[2026-06-18 01:09:56] local.INFO: Saved type row strength  
[2026-06-18 01:09:59] local.INFO: Saved type row strength  
[2026-06-18 01:09:59] local.INFO: Saved type row conditioning  
[2026-06-18 01:09:59] local.INFO: Saved type row strength  
[2026-06-18 01:09:59] local.INFO: Saved type row strength  
[2026-06-18 01:09:59] local.INFO: Saved type row strength  
[2026-06-18 01:09:59] local.INFO: Saved type row warmup  
[2026-06-18 01:09:59] local.INFO: Saved type row weightlifting  
[2026-06-18 01:09:59] local.INFO: Saved type row strength  
[2026-06-18 01:09:59] local.INFO: Saved type row accessory  
[2026-06-18 01:09:59] local.INFO: Saved type row accessory  
[2026-06-18 01:09:59] local.INFO: Saved type row strength  
[2026-06-18 01:09:59] local.INFO: Saved type row strength  
[2026-06-18 01:09:59] local.INFO: Saved type row strength  
[2026-06-18 01:09:59] local.INFO: Saved type row warmup  
[2026-06-18 01:09:59] local.INFO: Saved type row strength  
[2026-06-18 01:09:59] local.INFO: Saved type row strength  
[2026-06-18 01:10:02] local.INFO: Saved type row strength  
[2026-06-18 01:10:02] local.INFO: Saved type row conditioning  
[2026-06-18 01:10:02] local.INFO: Saved type row strength  
[2026-06-18 01:10:02] local.INFO: Saved type row strength  
[2026-06-18 01:10:02] local.INFO: Saved type row warmup  
[2026-06-18 01:10:02] local.INFO: Saved type row weightlifting  
[2026-06-18 01:10:02] local.INFO: Saved type row strength  
[2026-06-18 01:10:02] local.INFO: Saved type row accessory  
[2026-06-18 01:10:02] local.INFO: Saved type row accessory  
[2026-06-18 01:10:02] local.INFO: Saved type row strength  
[2026-06-18 01:10:02] local.INFO: Saved type row strength  
[2026-06-18 01:10:02] local.INFO: Saved type row strength  
[2026-06-18 01:10:02] local.INFO: Saved type row warmup  
[2026-06-18 01:10:02] local.INFO: Saved type row strength  
[2026-06-18 01:10:02] local.INFO: Saved type row strength  
[2026-06-18 01:10:07] local.INFO: Saved type row strength  
[2026-06-18 01:10:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:10:07] local.INFO: Saved type row strength  
[2026-06-18 01:10:07] local.INFO: Saved type row warmup  
[2026-06-18 01:10:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:10:07] local.INFO: Saved type row strength  
[2026-06-18 01:10:07] local.INFO: Saved type row accessory  
[2026-06-18 01:10:07] local.INFO: Saved type row accessory  
[2026-06-18 01:10:07] local.INFO: Saved type row strength  
[2026-06-18 01:10:07] local.INFO: Saved type row strength  
[2026-06-18 01:10:07] local.INFO: Saved type row strength  
[2026-06-18 01:10:07] local.INFO: Saved type row warmup  
[2026-06-18 01:10:07] local.INFO: Saved type row strength  
[2026-06-18 01:10:07] local.INFO: Saved type row strength  
[2026-06-18 01:10:11] local.INFO: Saved type row strength  
[2026-06-18 01:10:11] local.INFO: Saved type row conditioning  
[2026-06-18 01:10:11] local.INFO: Saved type row strength  
[2026-06-18 01:10:11] local.INFO: Saved type row weightlifting  
[2026-06-18 01:10:11] local.INFO: Saved type row strength  
[2026-06-18 01:10:11] local.INFO: Saved type row accessory  
[2026-06-18 01:10:11] local.INFO: Saved type row accessory  
[2026-06-18 01:10:11] local.INFO: Saved type row strength  
[2026-06-18 01:10:11] local.INFO: Saved type row strength  
[2026-06-18 01:10:11] local.INFO: Saved type row strength  
[2026-06-18 01:10:11] local.INFO: Saved type row warmup  
[2026-06-18 01:10:11] local.INFO: Saved type row strength  
[2026-06-18 01:10:11] local.INFO: Saved type row strength  
[2026-06-18 01:10:15] local.INFO: Saved type row strength  
[2026-06-18 01:10:15] local.INFO: Saved type row conditioning  
[2026-06-18 01:10:15] local.INFO: Saved type row strength  
[2026-06-18 01:10:15] local.INFO: Saved type row strength  
[2026-06-18 01:10:15] local.INFO: Saved type row accessory  
[2026-06-18 01:10:15] local.INFO: Saved type row accessory  
[2026-06-18 01:10:15] local.INFO: Saved type row strength  
[2026-06-18 01:10:15] local.INFO: Saved type row strength  
[2026-06-18 01:10:15] local.INFO: Saved type row strength  
[2026-06-18 01:10:15] local.INFO: Saved type row warmup  
[2026-06-18 01:10:15] local.INFO: Saved type row strength  
[2026-06-18 01:10:15] local.INFO: Saved type row strength  
[2026-06-18 01:10:19] local.INFO: Saved type row strength  
[2026-06-18 01:10:19] local.INFO: Saved type row conditioning  
[2026-06-18 01:10:19] local.INFO: Saved type row strength  
[2026-06-18 01:10:19] local.INFO: Saved type row accessory  
[2026-06-18 01:10:19] local.INFO: Saved type row accessory  
[2026-06-18 01:10:19] local.INFO: Saved type row strength  
[2026-06-18 01:10:19] local.INFO: Saved type row strength  
[2026-06-18 01:10:19] local.INFO: Saved type row strength  
[2026-06-18 01:10:19] local.INFO: Saved type row warmup  
[2026-06-18 01:10:19] local.INFO: Saved type row strength  
[2026-06-18 01:10:19] local.INFO: Saved type row strength  
[2026-06-18 01:10:24] local.INFO: Saved type row strength  
[2026-06-18 01:10:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:10:24] local.INFO: Saved type row strength  
[2026-06-18 01:10:24] local.INFO: Saved type row accessory  
[2026-06-18 01:10:24] local.INFO: Saved type row strength  
[2026-06-18 01:10:24] local.INFO: Saved type row strength  
[2026-06-18 01:10:24] local.INFO: Saved type row strength  
[2026-06-18 01:10:24] local.INFO: Saved type row warmup  
[2026-06-18 01:10:24] local.INFO: Saved type row strength  
[2026-06-18 01:10:24] local.INFO: Saved type row strength  
[2026-06-18 01:10:39] local.INFO: Saved type row strength  
[2026-06-18 01:10:39] local.INFO: Saved type row conditioning  
[2026-06-18 01:10:39] local.INFO: Saved type row strength  
[2026-06-18 01:10:39] local.INFO: Saved type row accessory  
[2026-06-18 01:10:39] local.INFO: Saved type row strength  
[2026-06-18 01:10:39] local.INFO: Saved type row strength  
[2026-06-18 01:10:39] local.INFO: Saved type row strength  
[2026-06-18 01:10:39] local.INFO: Saved type row warmup  
[2026-06-18 01:10:39] local.INFO: Saved type row strength  
[2026-06-18 01:10:43] local.INFO: Saved type row strength  
[2026-06-18 01:10:43] local.INFO: Saved type row conditioning  
[2026-06-18 01:10:43] local.INFO: Saved type row strength  
[2026-06-18 01:10:43] local.INFO: Saved type row accessory  
[2026-06-18 01:10:43] local.INFO: Saved type row strength  
[2026-06-18 01:10:43] local.INFO: Saved type row strength  
[2026-06-18 01:10:43] local.INFO: Saved type row strength  
[2026-06-18 01:10:43] local.INFO: Saved type row warmup  
[2026-06-18 01:10:46] local.INFO: Saved type row strength  
[2026-06-18 01:10:46] local.INFO: Saved type row conditioning  
[2026-06-18 01:10:46] local.INFO: Saved type row strength  
[2026-06-18 01:10:46] local.INFO: Saved type row accessory  
[2026-06-18 01:10:46] local.INFO: Saved type row strength  
[2026-06-18 01:10:46] local.INFO: Saved type row strength  
[2026-06-18 01:10:46] local.INFO: Saved type row strength  
[2026-06-18 01:10:50] local.INFO: Saved type row strength  
[2026-06-18 01:10:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:10:50] local.INFO: Saved type row strength  
[2026-06-18 01:10:50] local.INFO: Saved type row accessory  
[2026-06-18 01:10:50] local.INFO: Saved type row strength  
[2026-06-18 01:10:50] local.INFO: Saved type row strength  
[2026-06-18 01:10:53] local.INFO: Saved type row strength  
[2026-06-18 01:10:53] local.INFO: Saved type row conditioning  
[2026-06-18 01:10:53] local.INFO: Saved type row strength  
[2026-06-18 01:10:53] local.INFO: Saved type row accessory  
[2026-06-18 01:10:53] local.INFO: Saved type row strength  
[2026-06-18 01:11:00] local.INFO: Saved type row strength  
[2026-06-18 01:11:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:11:00] local.INFO: Saved type row strength  
[2026-06-18 01:11:00] local.INFO: Saved type row accessory  
[2026-06-18 01:11:03] local.INFO: Saved type row strength  
[2026-06-18 01:11:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:11:03] local.INFO: Saved type row strength  
[2026-06-18 01:11:07] local.INFO: Saved type row strength  
[2026-06-18 01:11:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:11:11] local.INFO: Saved type row strength  
[2026-06-18 01:12:35] local.INFO: Tab value: all  
[2026-06-18 01:12:36] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row strength  
[2026-06-18 01:12:36] local.INFO: Saved type row accessory  
[2026-06-18 01:12:36] local.INFO: Saved type row strength  
[2026-06-18 01:12:36] local.INFO: Saved type row accessory  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row strength  
[2026-06-18 01:12:36] local.INFO: Saved type row accessory  
[2026-06-18 01:12:36] local.INFO: Saved type row strength  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row strength  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row strength  
[2026-06-18 01:12:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row accessory  
[2026-06-18 01:12:36] local.INFO: Saved type row accessory  
[2026-06-18 01:12:36] local.INFO: Saved type row accessory  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row strength  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:36] local.INFO: Saved type row strength  
[2026-06-18 01:12:36] local.INFO: Saved type row accessory  
[2026-06-18 01:12:36] local.INFO: Saved type row strength  
[2026-06-18 01:12:36] local.INFO: Saved type row accessory  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:36] local.INFO: Saved type row warmup  
[2026-06-18 01:12:37] local.INFO: Saved type row warmup  
[2026-06-18 01:12:37] local.INFO: Saved type row warmup  
[2026-06-18 01:12:37] local.INFO: Saved type row warmup  
[2026-06-18 01:12:37] local.INFO: Saved type row warmup  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row strength  
[2026-06-18 01:12:37] local.INFO: Saved type row accessory  
[2026-06-18 01:12:37] local.INFO: Saved type row strength  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row strength  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row warmup  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row warmup  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row strength  
[2026-06-18 01:12:37] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:37] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:37] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:37] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row accessory  
[2026-06-18 01:12:37] local.INFO: Saved type row accessory  
[2026-06-18 01:12:37] local.INFO: Saved type row accessory  
[2026-06-18 01:12:37] local.INFO: Saved type row warmup  
[2026-06-18 01:12:37] local.INFO: Saved type row warmup  
[2026-06-18 01:12:37] local.INFO: Saved type row warmup  
[2026-06-18 01:12:37] local.INFO: Saved type row warmup  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row strength  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:37] local.INFO: Saved type row warmup  
[2026-06-18 01:12:37] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:37] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:37] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: assignWorkoutToClass:  {"workout_id":214,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row strength  
[2026-06-18 01:12:44] local.INFO: Saved type row accessory  
[2026-06-18 01:12:44] local.INFO: Saved type row strength  
[2026-06-18 01:12:44] local.INFO: Saved type row accessory  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row strength  
[2026-06-18 01:12:44] local.INFO: Saved type row accessory  
[2026-06-18 01:12:44] local.INFO: Saved type row strength  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row strength  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row strength  
[2026-06-18 01:12:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row accessory  
[2026-06-18 01:12:44] local.INFO: Saved type row accessory  
[2026-06-18 01:12:44] local.INFO: Saved type row accessory  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row strength  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:44] local.INFO: Saved type row warmup  
[2026-06-18 01:12:44] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row strength  
[2026-06-18 01:12:57] local.INFO: Saved type row accessory  
[2026-06-18 01:12:57] local.INFO: Saved type row strength  
[2026-06-18 01:12:57] local.INFO: Saved type row accessory  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row strength  
[2026-06-18 01:12:57] local.INFO: Saved type row accessory  
[2026-06-18 01:12:57] local.INFO: Saved type row strength  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row strength  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row strength  
[2026-06-18 01:12:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row accessory  
[2026-06-18 01:12:57] local.INFO: Saved type row accessory  
[2026-06-18 01:12:57] local.INFO: Saved type row accessory  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row strength  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row conditioning  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:12:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:57] local.INFO: Saved type row weightlifting  
[2026-06-18 01:12:57] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row strength  
[2026-06-18 01:13:03] local.INFO: Saved type row accessory  
[2026-06-18 01:13:03] local.INFO: Saved type row strength  
[2026-06-18 01:13:03] local.INFO: Saved type row accessory  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row strength  
[2026-06-18 01:13:03] local.INFO: Saved type row accessory  
[2026-06-18 01:13:03] local.INFO: Saved type row strength  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row strength  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row strength  
[2026-06-18 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row accessory  
[2026-06-18 01:13:03] local.INFO: Saved type row accessory  
[2026-06-18 01:13:03] local.INFO: Saved type row accessory  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row strength  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:03] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:03] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row strength  
[2026-06-18 01:13:07] local.INFO: Saved type row accessory  
[2026-06-18 01:13:07] local.INFO: Saved type row strength  
[2026-06-18 01:13:07] local.INFO: Saved type row accessory  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row strength  
[2026-06-18 01:13:07] local.INFO: Saved type row accessory  
[2026-06-18 01:13:07] local.INFO: Saved type row strength  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row strength  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row strength  
[2026-06-18 01:13:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row accessory  
[2026-06-18 01:13:07] local.INFO: Saved type row accessory  
[2026-06-18 01:13:07] local.INFO: Saved type row accessory  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row strength  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:07] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row strength  
[2026-06-18 01:13:12] local.INFO: Saved type row accessory  
[2026-06-18 01:13:12] local.INFO: Saved type row strength  
[2026-06-18 01:13:12] local.INFO: Saved type row accessory  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row strength  
[2026-06-18 01:13:12] local.INFO: Saved type row accessory  
[2026-06-18 01:13:12] local.INFO: Saved type row strength  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row strength  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row strength  
[2026-06-18 01:13:12] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:12] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:12] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:12] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row accessory  
[2026-06-18 01:13:12] local.INFO: Saved type row accessory  
[2026-06-18 01:13:12] local.INFO: Saved type row accessory  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row strength  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:12] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:12] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:12] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row strength  
[2026-06-18 01:13:17] local.INFO: Saved type row accessory  
[2026-06-18 01:13:17] local.INFO: Saved type row strength  
[2026-06-18 01:13:17] local.INFO: Saved type row accessory  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row strength  
[2026-06-18 01:13:17] local.INFO: Saved type row accessory  
[2026-06-18 01:13:17] local.INFO: Saved type row strength  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row strength  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row strength  
[2026-06-18 01:13:17] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:17] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:17] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:17] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row accessory  
[2026-06-18 01:13:17] local.INFO: Saved type row accessory  
[2026-06-18 01:13:17] local.INFO: Saved type row accessory  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row strength  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:17] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:17] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:17] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row accessory  
[2026-06-18 01:13:22] local.INFO: Saved type row strength  
[2026-06-18 01:13:22] local.INFO: Saved type row accessory  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row strength  
[2026-06-18 01:13:22] local.INFO: Saved type row accessory  
[2026-06-18 01:13:22] local.INFO: Saved type row strength  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row strength  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row strength  
[2026-06-18 01:13:22] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:22] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:22] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:22] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row accessory  
[2026-06-18 01:13:22] local.INFO: Saved type row accessory  
[2026-06-18 01:13:22] local.INFO: Saved type row accessory  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row strength  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:22] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:22] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:22] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row accessory  
[2026-06-18 01:13:44] local.INFO: Saved type row strength  
[2026-06-18 01:13:44] local.INFO: Saved type row accessory  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row strength  
[2026-06-18 01:13:44] local.INFO: Saved type row accessory  
[2026-06-18 01:13:44] local.INFO: Saved type row strength  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row strength  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row strength  
[2026-06-18 01:13:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row accessory  
[2026-06-18 01:13:44] local.INFO: Saved type row accessory  
[2026-06-18 01:13:44] local.INFO: Saved type row accessory  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row strength  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:44] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:44] local.INFO: Saved type row warmup  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row accessory  
[2026-06-18 01:13:50] local.INFO: Saved type row strength  
[2026-06-18 01:13:50] local.INFO: Saved type row accessory  
[2026-06-18 01:13:50] local.INFO: Saved type row warmup  
[2026-06-18 01:13:50] local.INFO: Saved type row warmup  
[2026-06-18 01:13:50] local.INFO: Saved type row warmup  
[2026-06-18 01:13:50] local.INFO: Saved type row warmup  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row strength  
[2026-06-18 01:13:50] local.INFO: Saved type row accessory  
[2026-06-18 01:13:50] local.INFO: Saved type row strength  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row strength  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row warmup  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row warmup  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row strength  
[2026-06-18 01:13:50] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:50] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:50] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:50] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row accessory  
[2026-06-18 01:13:50] local.INFO: Saved type row accessory  
[2026-06-18 01:13:50] local.INFO: Saved type row accessory  
[2026-06-18 01:13:50] local.INFO: Saved type row warmup  
[2026-06-18 01:13:50] local.INFO: Saved type row warmup  
[2026-06-18 01:13:50] local.INFO: Saved type row warmup  
[2026-06-18 01:13:50] local.INFO: Saved type row warmup  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row strength  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:50] local.INFO: Saved type row warmup  
[2026-06-18 01:13:50] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:50] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:50] local.INFO: Saved type row warmup  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row accessory  
[2026-06-18 01:13:56] local.INFO: Saved type row strength  
[2026-06-18 01:13:56] local.INFO: Saved type row accessory  
[2026-06-18 01:13:56] local.INFO: Saved type row warmup  
[2026-06-18 01:13:56] local.INFO: Saved type row warmup  
[2026-06-18 01:13:56] local.INFO: Saved type row warmup  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row strength  
[2026-06-18 01:13:56] local.INFO: Saved type row accessory  
[2026-06-18 01:13:56] local.INFO: Saved type row strength  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row strength  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row warmup  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row warmup  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row strength  
[2026-06-18 01:13:56] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:56] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:56] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:56] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row accessory  
[2026-06-18 01:13:56] local.INFO: Saved type row accessory  
[2026-06-18 01:13:56] local.INFO: Saved type row accessory  
[2026-06-18 01:13:56] local.INFO: Saved type row warmup  
[2026-06-18 01:13:56] local.INFO: Saved type row warmup  
[2026-06-18 01:13:56] local.INFO: Saved type row warmup  
[2026-06-18 01:13:56] local.INFO: Saved type row warmup  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row strength  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row conditioning  
[2026-06-18 01:13:56] local.INFO: Saved type row warmup  
[2026-06-18 01:13:56] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:56] local.INFO: Saved type row weightlifting  
[2026-06-18 01:13:56] local.INFO: Saved type row warmup  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row accessory  
[2026-06-18 01:14:00] local.INFO: Saved type row strength  
[2026-06-18 01:14:00] local.INFO: Saved type row accessory  
[2026-06-18 01:14:00] local.INFO: Saved type row warmup  
[2026-06-18 01:14:00] local.INFO: Saved type row warmup  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row strength  
[2026-06-18 01:14:00] local.INFO: Saved type row accessory  
[2026-06-18 01:14:00] local.INFO: Saved type row strength  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row strength  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row warmup  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row warmup  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row strength  
[2026-06-18 01:14:00] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:00] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:00] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:00] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row accessory  
[2026-06-18 01:14:00] local.INFO: Saved type row accessory  
[2026-06-18 01:14:00] local.INFO: Saved type row accessory  
[2026-06-18 01:14:00] local.INFO: Saved type row warmup  
[2026-06-18 01:14:00] local.INFO: Saved type row warmup  
[2026-06-18 01:14:00] local.INFO: Saved type row warmup  
[2026-06-18 01:14:00] local.INFO: Saved type row warmup  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row strength  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:00] local.INFO: Saved type row warmup  
[2026-06-18 01:14:00] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:00] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:00] local.INFO: Saved type row warmup  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row accessory  
[2026-06-18 01:14:04] local.INFO: Saved type row strength  
[2026-06-18 01:14:04] local.INFO: Saved type row accessory  
[2026-06-18 01:14:04] local.INFO: Saved type row warmup  
[2026-06-18 01:14:04] local.INFO: Saved type row warmup  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row strength  
[2026-06-18 01:14:04] local.INFO: Saved type row accessory  
[2026-06-18 01:14:04] local.INFO: Saved type row strength  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row strength  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row warmup  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row warmup  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row strength  
[2026-06-18 01:14:04] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:04] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:04] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:04] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row accessory  
[2026-06-18 01:14:04] local.INFO: Saved type row accessory  
[2026-06-18 01:14:04] local.INFO: Saved type row accessory  
[2026-06-18 01:14:04] local.INFO: Saved type row warmup  
[2026-06-18 01:14:04] local.INFO: Saved type row warmup  
[2026-06-18 01:14:04] local.INFO: Saved type row warmup  
[2026-06-18 01:14:04] local.INFO: Saved type row warmup  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row strength  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:04] local.INFO: Saved type row warmup  
[2026-06-18 01:14:04] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:04] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:04] local.INFO: Saved type row warmup  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row accessory  
[2026-06-18 01:14:10] local.INFO: Saved type row strength  
[2026-06-18 01:14:10] local.INFO: Saved type row accessory  
[2026-06-18 01:14:10] local.INFO: Saved type row warmup  
[2026-06-18 01:14:10] local.INFO: Saved type row warmup  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row strength  
[2026-06-18 01:14:10] local.INFO: Saved type row accessory  
[2026-06-18 01:14:10] local.INFO: Saved type row strength  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row strength  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row warmup  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row warmup  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row strength  
[2026-06-18 01:14:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row accessory  
[2026-06-18 01:14:10] local.INFO: Saved type row accessory  
[2026-06-18 01:14:10] local.INFO: Saved type row accessory  
[2026-06-18 01:14:10] local.INFO: Saved type row warmup  
[2026-06-18 01:14:10] local.INFO: Saved type row warmup  
[2026-06-18 01:14:10] local.INFO: Saved type row warmup  
[2026-06-18 01:14:10] local.INFO: Saved type row warmup  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row strength  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:10] local.INFO: Saved type row warmup  
[2026-06-18 01:14:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:10] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:10] local.INFO: Saved type row warmup  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row accessory  
[2026-06-18 01:14:14] local.INFO: Saved type row strength  
[2026-06-18 01:14:14] local.INFO: Saved type row accessory  
[2026-06-18 01:14:14] local.INFO: Saved type row warmup  
[2026-06-18 01:14:14] local.INFO: Saved type row warmup  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row strength  
[2026-06-18 01:14:14] local.INFO: Saved type row accessory  
[2026-06-18 01:14:14] local.INFO: Saved type row strength  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row strength  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row warmup  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row warmup  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row strength  
[2026-06-18 01:14:14] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:14] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:14] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:14] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row accessory  
[2026-06-18 01:14:14] local.INFO: Saved type row accessory  
[2026-06-18 01:14:14] local.INFO: Saved type row accessory  
[2026-06-18 01:14:14] local.INFO: Saved type row warmup  
[2026-06-18 01:14:14] local.INFO: Saved type row warmup  
[2026-06-18 01:14:14] local.INFO: Saved type row warmup  
[2026-06-18 01:14:14] local.INFO: Saved type row warmup  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row strength  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:14] local.INFO: Saved type row warmup  
[2026-06-18 01:14:14] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:14] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:14] local.INFO: Saved type row warmup  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row accessory  
[2026-06-18 01:14:20] local.INFO: Saved type row strength  
[2026-06-18 01:14:20] local.INFO: Saved type row accessory  
[2026-06-18 01:14:20] local.INFO: Saved type row warmup  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row strength  
[2026-06-18 01:14:20] local.INFO: Saved type row accessory  
[2026-06-18 01:14:20] local.INFO: Saved type row strength  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row strength  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row warmup  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row warmup  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row strength  
[2026-06-18 01:14:20] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:20] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:20] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:20] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row accessory  
[2026-06-18 01:14:20] local.INFO: Saved type row accessory  
[2026-06-18 01:14:20] local.INFO: Saved type row accessory  
[2026-06-18 01:14:20] local.INFO: Saved type row warmup  
[2026-06-18 01:14:20] local.INFO: Saved type row warmup  
[2026-06-18 01:14:20] local.INFO: Saved type row warmup  
[2026-06-18 01:14:20] local.INFO: Saved type row warmup  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row strength  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:20] local.INFO: Saved type row warmup  
[2026-06-18 01:14:20] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:20] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:20] local.INFO: Saved type row warmup  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row accessory  
[2026-06-18 01:14:28] local.INFO: Saved type row strength  
[2026-06-18 01:14:28] local.INFO: Saved type row warmup  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row strength  
[2026-06-18 01:14:28] local.INFO: Saved type row accessory  
[2026-06-18 01:14:28] local.INFO: Saved type row strength  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row strength  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row warmup  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row warmup  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row strength  
[2026-06-18 01:14:28] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:28] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:28] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:28] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row accessory  
[2026-06-18 01:14:28] local.INFO: Saved type row accessory  
[2026-06-18 01:14:28] local.INFO: Saved type row accessory  
[2026-06-18 01:14:28] local.INFO: Saved type row warmup  
[2026-06-18 01:14:28] local.INFO: Saved type row warmup  
[2026-06-18 01:14:28] local.INFO: Saved type row warmup  
[2026-06-18 01:14:28] local.INFO: Saved type row warmup  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row strength  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:28] local.INFO: Saved type row warmup  
[2026-06-18 01:14:28] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:28] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:28] local.INFO: Saved type row warmup  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row accessory  
[2026-06-18 01:14:36] local.INFO: Saved type row strength  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row strength  
[2026-06-18 01:14:36] local.INFO: Saved type row accessory  
[2026-06-18 01:14:36] local.INFO: Saved type row strength  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row strength  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row warmup  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row warmup  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row strength  
[2026-06-18 01:14:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row accessory  
[2026-06-18 01:14:36] local.INFO: Saved type row accessory  
[2026-06-18 01:14:36] local.INFO: Saved type row accessory  
[2026-06-18 01:14:36] local.INFO: Saved type row warmup  
[2026-06-18 01:14:36] local.INFO: Saved type row warmup  
[2026-06-18 01:14:36] local.INFO: Saved type row warmup  
[2026-06-18 01:14:36] local.INFO: Saved type row warmup  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row strength  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row conditioning  
[2026-06-18 01:14:36] local.INFO: Saved type row warmup  
[2026-06-18 01:14:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:36] local.INFO: Saved type row weightlifting  
[2026-06-18 01:14:36] local.INFO: Saved type row warmup  
[2026-06-18 01:16:19] local.INFO: AMRAP row processing {"managerId":215,"index":"1","exercise":"Handstand push up","workout_library_id":51} 
[2026-06-18 01:16:19] local.INFO: Saved AMRAP row 1  
[2026-06-18 01:16:19] local.INFO: AMRAP row processing {"managerId":215,"index":"2","exercise":"","workout_library_id":null} 
[2026-06-18 01:16:19] local.WARNING: AMRAP skipped: Exercise '' not found or ID is null.  
[2026-06-18 01:16:22] local.INFO: Tab value: all  
[2026-06-18 01:16:23] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row accessory  
[2026-06-18 01:16:23] local.INFO: Saved type row strength  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row strength  
[2026-06-18 01:16:23] local.INFO: Saved type row accessory  
[2026-06-18 01:16:23] local.INFO: Saved type row strength  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row strength  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row warmup  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row warmup  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row strength  
[2026-06-18 01:16:23] local.INFO: Saved type row weightlifting  
[2026-06-18 01:16:23] local.INFO: Saved type row weightlifting  
[2026-06-18 01:16:23] local.INFO: Saved type row weightlifting  
[2026-06-18 01:16:23] local.INFO: Saved type row weightlifting  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row accessory  
[2026-06-18 01:16:23] local.INFO: Saved type row accessory  
[2026-06-18 01:16:23] local.INFO: Saved type row accessory  
[2026-06-18 01:16:23] local.INFO: Saved type row warmup  
[2026-06-18 01:16:23] local.INFO: Saved type row warmup  
[2026-06-18 01:16:23] local.INFO: Saved type row warmup  
[2026-06-18 01:16:23] local.INFO: Saved type row warmup  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row strength  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:23] local.INFO: Saved type row warmup  
[2026-06-18 01:16:23] local.INFO: Saved type row weightlifting  
[2026-06-18 01:16:23] local.INFO: Saved type row weightlifting  
[2026-06-18 01:16:23] local.INFO: Saved type row warmup  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row accessory  
[2026-06-18 01:16:24] local.INFO: Saved type row strength  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row strength  
[2026-06-18 01:16:24] local.INFO: Saved type row accessory  
[2026-06-18 01:16:24] local.INFO: Saved type row strength  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row strength  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row warmup  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row warmup  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row strength  
[2026-06-18 01:16:24] local.INFO: Saved type row weightlifting  
[2026-06-18 01:16:24] local.INFO: Saved type row weightlifting  
[2026-06-18 01:16:24] local.INFO: Saved type row weightlifting  
[2026-06-18 01:16:24] local.INFO: Saved type row weightlifting  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row accessory  
[2026-06-18 01:16:24] local.INFO: Saved type row accessory  
[2026-06-18 01:16:24] local.INFO: Saved type row accessory  
[2026-06-18 01:16:24] local.INFO: Saved type row warmup  
[2026-06-18 01:16:24] local.INFO: Saved type row warmup  
[2026-06-18 01:16:24] local.INFO: Saved type row warmup  
[2026-06-18 01:16:24] local.INFO: Saved type row warmup  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row strength  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:16:24] local.INFO: Saved type row warmup  
[2026-06-18 01:16:24] local.INFO: Saved type row weightlifting  
[2026-06-18 01:16:24] local.INFO: Saved type row weightlifting  
[2026-06-18 01:16:24] local.INFO: Saved type row warmup  
[2026-06-18 01:17:21] local.INFO: AMRAP row processing {"managerId":215,"index":"1","exercise":"Handstand push up","workout_library_id":51} 
[2026-06-18 01:17:21] local.INFO: Saved AMRAP row 1  
[2026-06-18 01:17:21] local.INFO: AMRAP row processing {"managerId":215,"index":"2","exercise":"Muscle up","workout_library_id":57} 
[2026-06-18 01:17:21] local.INFO: Saved AMRAP row 2  
[2026-06-18 01:17:21] local.INFO: AMRAP row processing {"managerId":215,"index":"3","exercise":"Air squat","workout_library_id":65} 
[2026-06-18 01:17:21] local.INFO: Saved AMRAP row 3  
[2026-06-18 01:17:24] local.INFO: Tab value: all  
[2026-06-18 01:17:24] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row accessory  
[2026-06-18 01:17:24] local.INFO: Saved type row strength  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row strength  
[2026-06-18 01:17:24] local.INFO: Saved type row accessory  
[2026-06-18 01:17:24] local.INFO: Saved type row strength  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row strength  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row warmup  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row warmup  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row strength  
[2026-06-18 01:17:24] local.INFO: Saved type row weightlifting  
[2026-06-18 01:17:24] local.INFO: Saved type row weightlifting  
[2026-06-18 01:17:24] local.INFO: Saved type row weightlifting  
[2026-06-18 01:17:24] local.INFO: Saved type row weightlifting  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row accessory  
[2026-06-18 01:17:24] local.INFO: Saved type row accessory  
[2026-06-18 01:17:24] local.INFO: Saved type row accessory  
[2026-06-18 01:17:24] local.INFO: Saved type row warmup  
[2026-06-18 01:17:24] local.INFO: Saved type row warmup  
[2026-06-18 01:17:24] local.INFO: Saved type row warmup  
[2026-06-18 01:17:24] local.INFO: Saved type row warmup  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row strength  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:24] local.INFO: Saved type row warmup  
[2026-06-18 01:17:24] local.INFO: Saved type row weightlifting  
[2026-06-18 01:17:24] local.INFO: Saved type row weightlifting  
[2026-06-18 01:17:24] local.INFO: Saved type row warmup  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row accessory  
[2026-06-18 01:17:25] local.INFO: Saved type row strength  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row strength  
[2026-06-18 01:17:25] local.INFO: Saved type row accessory  
[2026-06-18 01:17:25] local.INFO: Saved type row strength  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row strength  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row warmup  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row warmup  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row strength  
[2026-06-18 01:17:25] local.INFO: Saved type row weightlifting  
[2026-06-18 01:17:25] local.INFO: Saved type row weightlifting  
[2026-06-18 01:17:25] local.INFO: Saved type row weightlifting  
[2026-06-18 01:17:25] local.INFO: Saved type row weightlifting  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row accessory  
[2026-06-18 01:17:25] local.INFO: Saved type row accessory  
[2026-06-18 01:17:25] local.INFO: Saved type row accessory  
[2026-06-18 01:17:25] local.INFO: Saved type row warmup  
[2026-06-18 01:17:25] local.INFO: Saved type row warmup  
[2026-06-18 01:17:25] local.INFO: Saved type row warmup  
[2026-06-18 01:17:25] local.INFO: Saved type row warmup  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row strength  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row conditioning  
[2026-06-18 01:17:25] local.INFO: Saved type row warmup  
[2026-06-18 01:17:25] local.INFO: Saved type row weightlifting  
[2026-06-18 01:17:25] local.INFO: Saved type row weightlifting  
[2026-06-18 01:17:25] local.INFO: Saved type row warmup  
[2026-06-18 01:19:07] local.INFO: Tab value: all  
[2026-06-18 01:19:07] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row accessory  
[2026-06-18 01:19:07] local.INFO: Saved type row strength  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row strength  
[2026-06-18 01:19:07] local.INFO: Saved type row accessory  
[2026-06-18 01:19:07] local.INFO: Saved type row strength  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row strength  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row warmup  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row warmup  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row strength  
[2026-06-18 01:19:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:19:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:19:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:19:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row accessory  
[2026-06-18 01:19:07] local.INFO: Saved type row accessory  
[2026-06-18 01:19:07] local.INFO: Saved type row accessory  
[2026-06-18 01:19:07] local.INFO: Saved type row warmup  
[2026-06-18 01:19:07] local.INFO: Saved type row warmup  
[2026-06-18 01:19:07] local.INFO: Saved type row warmup  
[2026-06-18 01:19:07] local.INFO: Saved type row warmup  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row strength  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:07] local.INFO: Saved type row warmup  
[2026-06-18 01:19:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:19:07] local.INFO: Saved type row weightlifting  
[2026-06-18 01:19:07] local.INFO: Saved type row warmup  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row accessory  
[2026-06-18 01:19:08] local.INFO: Saved type row strength  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row strength  
[2026-06-18 01:19:08] local.INFO: Saved type row accessory  
[2026-06-18 01:19:08] local.INFO: Saved type row strength  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row strength  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row warmup  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row warmup  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row strength  
[2026-06-18 01:19:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:19:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:19:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:19:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row accessory  
[2026-06-18 01:19:08] local.INFO: Saved type row accessory  
[2026-06-18 01:19:08] local.INFO: Saved type row accessory  
[2026-06-18 01:19:08] local.INFO: Saved type row warmup  
[2026-06-18 01:19:08] local.INFO: Saved type row warmup  
[2026-06-18 01:19:08] local.INFO: Saved type row warmup  
[2026-06-18 01:19:08] local.INFO: Saved type row warmup  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row strength  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row conditioning  
[2026-06-18 01:19:08] local.INFO: Saved type row warmup  
[2026-06-18 01:19:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:19:08] local.INFO: Saved type row weightlifting  
[2026-06-18 01:19:08] local.INFO: Saved type row warmup  
[2026-06-18 01:23:25] local.INFO: Tab value: all  
[2026-06-18 01:23:26] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row accessory  
[2026-06-18 01:23:26] local.INFO: Saved type row strength  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row strength  
[2026-06-18 01:23:26] local.INFO: Saved type row accessory  
[2026-06-18 01:23:26] local.INFO: Saved type row strength  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row strength  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row strength  
[2026-06-18 01:23:26] local.INFO: Saved type row weightlifting  
[2026-06-18 01:23:26] local.INFO: Saved type row weightlifting  
[2026-06-18 01:23:26] local.INFO: Saved type row weightlifting  
[2026-06-18 01:23:26] local.INFO: Saved type row weightlifting  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row accessory  
[2026-06-18 01:23:26] local.INFO: Saved type row accessory  
[2026-06-18 01:23:26] local.INFO: Saved type row accessory  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row strength  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row weightlifting  
[2026-06-18 01:23:26] local.INFO: Saved type row weightlifting  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row accessory  
[2026-06-18 01:23:26] local.INFO: Saved type row strength  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row strength  
[2026-06-18 01:23:26] local.INFO: Saved type row accessory  
[2026-06-18 01:23:26] local.INFO: Saved type row strength  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row strength  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row strength  
[2026-06-18 01:23:26] local.INFO: Saved type row weightlifting  
[2026-06-18 01:23:26] local.INFO: Saved type row weightlifting  
[2026-06-18 01:23:26] local.INFO: Saved type row weightlifting  
[2026-06-18 01:23:26] local.INFO: Saved type row weightlifting  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row accessory  
[2026-06-18 01:23:26] local.INFO: Saved type row accessory  
[2026-06-18 01:23:26] local.INFO: Saved type row accessory  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row strength  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row conditioning  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:23:26] local.INFO: Saved type row weightlifting  
[2026-06-18 01:23:26] local.INFO: Saved type row weightlifting  
[2026-06-18 01:23:26] local.INFO: Saved type row warmup  
[2026-06-18 01:59:19] local.INFO: Tab value: all  
[2026-06-18 01:59:20] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row accessory  
[2026-06-18 01:59:20] local.INFO: Saved type row strength  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row strength  
[2026-06-18 01:59:20] local.INFO: Saved type row accessory  
[2026-06-18 01:59:20] local.INFO: Saved type row strength  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row strength  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row warmup  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row warmup  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row strength  
[2026-06-18 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-18 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-18 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-18 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row accessory  
[2026-06-18 01:59:20] local.INFO: Saved type row accessory  
[2026-06-18 01:59:20] local.INFO: Saved type row accessory  
[2026-06-18 01:59:20] local.INFO: Saved type row warmup  
[2026-06-18 01:59:20] local.INFO: Saved type row warmup  
[2026-06-18 01:59:20] local.INFO: Saved type row warmup  
[2026-06-18 01:59:20] local.INFO: Saved type row warmup  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row strength  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row warmup  
[2026-06-18 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-18 01:59:20] local.INFO: Saved type row weightlifting  
[2026-06-18 01:59:20] local.INFO: Saved type row warmup  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row accessory  
[2026-06-18 01:59:20] local.INFO: Saved type row strength  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row strength  
[2026-06-18 01:59:20] local.INFO: Saved type row accessory  
[2026-06-18 01:59:20] local.INFO: Saved type row strength  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row strength  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row warmup  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:20] local.INFO: Saved type row warmup  
[2026-06-18 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:21] local.INFO: Saved type row strength  
[2026-06-18 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-18 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-18 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-18 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-18 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:21] local.INFO: Saved type row accessory  
[2026-06-18 01:59:21] local.INFO: Saved type row accessory  
[2026-06-18 01:59:21] local.INFO: Saved type row accessory  
[2026-06-18 01:59:21] local.INFO: Saved type row warmup  
[2026-06-18 01:59:21] local.INFO: Saved type row warmup  
[2026-06-18 01:59:21] local.INFO: Saved type row warmup  
[2026-06-18 01:59:21] local.INFO: Saved type row warmup  
[2026-06-18 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:21] local.INFO: Saved type row strength  
[2026-06-18 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:21] local.INFO: Saved type row conditioning  
[2026-06-18 01:59:21] local.INFO: Saved type row warmup  
[2026-06-18 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-18 01:59:21] local.INFO: Saved type row weightlifting  
[2026-06-18 01:59:21] local.INFO: Saved type row warmup  
[2026-06-18 01:59:56] local.INFO: mobile login pin : 7825  
[2026-06-18 02:00:09] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[214],"types":["conditioning"]} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[214]} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[214],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":83,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":83,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T01:12:32.000000Z","updated_at":"2026-06-18T01:12:32.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":83,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":278,"workout_libraries_id":17,"straight_id":83,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T01:12:32.000000Z","updated_at":"2026-06-18T01:12:32.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":279,"workout_libraries_id":17,"straight_id":83,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-18T01:12:32.000000Z","updated_at":"2026-06-18T01:12:32.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":280,"workout_libraries_id":17,"straight_id":83,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T01:12:32.000000Z","updated_at":"2026-06-18T01:12:32.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":281,"workout_libraries_id":17,"straight_id":83,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T01:12:32.000000Z","updated_at":"2026-06-18T01:12:32.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":84,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-18 02:00:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 02:00:09] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:00:09] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:00:09] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 02:00:56] local.INFO: Tab value: all  
[2026-06-18 02:00:56] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row accessory  
[2026-06-18 02:00:57] local.INFO: Saved type row strength  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row strength  
[2026-06-18 02:00:57] local.INFO: Saved type row accessory  
[2026-06-18 02:00:57] local.INFO: Saved type row strength  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row strength  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row strength  
[2026-06-18 02:00:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:00:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:00:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:00:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row accessory  
[2026-06-18 02:00:57] local.INFO: Saved type row accessory  
[2026-06-18 02:00:57] local.INFO: Saved type row accessory  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row strength  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:00:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row accessory  
[2026-06-18 02:00:57] local.INFO: Saved type row strength  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row strength  
[2026-06-18 02:00:57] local.INFO: Saved type row accessory  
[2026-06-18 02:00:57] local.INFO: Saved type row strength  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row strength  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row strength  
[2026-06-18 02:00:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:00:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:00:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:00:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row accessory  
[2026-06-18 02:00:57] local.INFO: Saved type row accessory  
[2026-06-18 02:00:57] local.INFO: Saved type row accessory  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row strength  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:00:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:00:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:00:57] local.INFO: Saved type row warmup  
[2026-06-18 02:01:05] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[214],"types":["conditioning"]} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[214]} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[214],"types":["Conditioning"],"formats":["straight-sets"]} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-18 02:01:05] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 02:01:05] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:01:05] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:01:05] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 02:01:35] local.INFO: assignWorkoutToClass:  {"workout_id":177,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row accessory  
[2026-06-18 02:01:35] local.INFO: Saved type row strength  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row strength  
[2026-06-18 02:01:35] local.INFO: Saved type row accessory  
[2026-06-18 02:01:35] local.INFO: Saved type row strength  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row strength  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row warmup  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row warmup  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row strength  
[2026-06-18 02:01:35] local.INFO: Saved type row weightlifting  
[2026-06-18 02:01:35] local.INFO: Saved type row weightlifting  
[2026-06-18 02:01:35] local.INFO: Saved type row weightlifting  
[2026-06-18 02:01:35] local.INFO: Saved type row weightlifting  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row accessory  
[2026-06-18 02:01:35] local.INFO: Saved type row accessory  
[2026-06-18 02:01:35] local.INFO: Saved type row accessory  
[2026-06-18 02:01:35] local.INFO: Saved type row warmup  
[2026-06-18 02:01:35] local.INFO: Saved type row warmup  
[2026-06-18 02:01:35] local.INFO: Saved type row warmup  
[2026-06-18 02:01:35] local.INFO: Saved type row warmup  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row strength  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:35] local.INFO: Saved type row warmup  
[2026-06-18 02:01:35] local.INFO: Saved type row weightlifting  
[2026-06-18 02:01:35] local.INFO: Saved type row weightlifting  
[2026-06-18 02:01:35] local.INFO: Saved type row warmup  
[2026-06-18 02:01:36] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:01:44] local.INFO: assignWorkoutToClass:  {"workout_id":176,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row accessory  
[2026-06-18 02:01:44] local.INFO: Saved type row strength  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row strength  
[2026-06-18 02:01:44] local.INFO: Saved type row accessory  
[2026-06-18 02:01:44] local.INFO: Saved type row strength  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row strength  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row warmup  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row warmup  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row strength  
[2026-06-18 02:01:44] local.INFO: Saved type row weightlifting  
[2026-06-18 02:01:44] local.INFO: Saved type row weightlifting  
[2026-06-18 02:01:44] local.INFO: Saved type row weightlifting  
[2026-06-18 02:01:44] local.INFO: Saved type row weightlifting  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row accessory  
[2026-06-18 02:01:44] local.INFO: Saved type row accessory  
[2026-06-18 02:01:44] local.INFO: Saved type row accessory  
[2026-06-18 02:01:44] local.INFO: Saved type row warmup  
[2026-06-18 02:01:44] local.INFO: Saved type row warmup  
[2026-06-18 02:01:44] local.INFO: Saved type row warmup  
[2026-06-18 02:01:44] local.INFO: Saved type row warmup  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row strength  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row conditioning  
[2026-06-18 02:01:44] local.INFO: Saved type row warmup  
[2026-06-18 02:01:44] local.INFO: Saved type row weightlifting  
[2026-06-18 02:01:44] local.INFO: Saved type row weightlifting  
[2026-06-18 02:01:44] local.INFO: Saved type row warmup  
[2026-06-18 02:01:45] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:01:59] local.INFO: AMRAP row processing {"managerId":215,"index":"1","exercise":"Handstand push up","workout_library_id":51} 
[2026-06-18 02:01:59] local.INFO: Saved AMRAP row 1  
[2026-06-18 02:01:59] local.INFO: AMRAP row processing {"managerId":215,"index":"2","exercise":"Muscle up","workout_library_id":57} 
[2026-06-18 02:01:59] local.INFO: Saved AMRAP row 2  
[2026-06-18 02:01:59] local.INFO: AMRAP row processing {"managerId":215,"index":"3","exercise":"Air squat","workout_library_id":65} 
[2026-06-18 02:01:59] local.INFO: Saved AMRAP row 3  
[2026-06-18 02:02:01] local.INFO: Tab value: all  
[2026-06-18 02:02:02] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row accessory  
[2026-06-18 02:02:02] local.INFO: Saved type row strength  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row strength  
[2026-06-18 02:02:02] local.INFO: Saved type row accessory  
[2026-06-18 02:02:02] local.INFO: Saved type row strength  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row strength  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row strength  
[2026-06-18 02:02:02] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:02] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:02] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:02] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row accessory  
[2026-06-18 02:02:02] local.INFO: Saved type row accessory  
[2026-06-18 02:02:02] local.INFO: Saved type row accessory  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row strength  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:02] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row accessory  
[2026-06-18 02:02:02] local.INFO: Saved type row strength  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row strength  
[2026-06-18 02:02:02] local.INFO: Saved type row accessory  
[2026-06-18 02:02:02] local.INFO: Saved type row strength  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row strength  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row strength  
[2026-06-18 02:02:02] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:02] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:02] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:02] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row accessory  
[2026-06-18 02:02:02] local.INFO: Saved type row accessory  
[2026-06-18 02:02:02] local.INFO: Saved type row accessory  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row strength  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:02] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:02] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:02] local.INFO: Saved type row warmup  
[2026-06-18 02:02:06] local.INFO: assignWorkoutToClass:  {"workout_id":215,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 02:02:06] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row warmup  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row accessory  
[2026-06-18 02:02:06] local.INFO: Saved type row strength  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row strength  
[2026-06-18 02:02:06] local.INFO: Saved type row accessory  
[2026-06-18 02:02:06] local.INFO: Saved type row strength  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row strength  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:06] local.INFO: Saved type row warmup  
[2026-06-18 02:02:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:07] local.INFO: Saved type row warmup  
[2026-06-18 02:02:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:07] local.INFO: Saved type row strength  
[2026-06-18 02:02:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:07] local.INFO: Saved type row accessory  
[2026-06-18 02:02:07] local.INFO: Saved type row accessory  
[2026-06-18 02:02:07] local.INFO: Saved type row accessory  
[2026-06-18 02:02:07] local.INFO: Saved type row warmup  
[2026-06-18 02:02:07] local.INFO: Saved type row warmup  
[2026-06-18 02:02:07] local.INFO: Saved type row warmup  
[2026-06-18 02:02:07] local.INFO: Saved type row warmup  
[2026-06-18 02:02:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:07] local.INFO: Saved type row strength  
[2026-06-18 02:02:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:02:07] local.INFO: Saved type row warmup  
[2026-06-18 02:02:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:02:07] local.INFO: Saved type row warmup  
[2026-06-18 02:02:12] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[176,214,177,215],"types":["strength","conditioning","accessory","warmup"]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[176,214,177,215]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[176,177,214,215],"types":["Strength","Accessory","Conditioning","Warmup"],"formats":["intervals","straight-sets","amrap"]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":28,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":29,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":176,"relation":"intervals","format_row_id":30,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":30,"stationumber":2,"workout_manager_id":176,"workout_libraries_id":27,"training_load":20,"unit_type":"Kg","reps":null,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-03T05:05:36.000000Z","updated_at":"2026-06-03T05:05:36.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":30,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":31,"workout_libraries_id":40,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","reps":null,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":79,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":80,"workout_libraries_id":57,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":81,"workout_libraries_id":65,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":15,"rows_with_lib_id":15,"rows_matched":5,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":10,"matched":4,"not_matched":6,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:02:12] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"class_id":335,"round_entries":[]} 
[2026-06-18 02:02:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:02:12] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"class_id":335,"round_entries":[]} 
[2026-06-18 02:02:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:02:12] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"class_id":335,"round_entries":[]} 
[2026-06-18 02:02:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 02:02:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":3,"completed":0,"status":0} 
[2026-06-18 02:02:12] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:02:12] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:02:12] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 02:03:01] local.INFO: Tab value: all  
[2026-06-18 02:03:05] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[176,214,177,215],"types":["strength","conditioning","accessory","warmup"]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[176,214,177,215]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[176,177,214,215],"types":["Strength","Accessory","Conditioning","Warmup"],"formats":["intervals","straight-sets","amrap"]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":71,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":72,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":176,"relation":"intervals","format_row_id":73,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":73,"stationumber":2,"workout_manager_id":176,"workout_libraries_id":27,"training_load":20,"unit_type":"Kg","reps":6,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-18T02:02:58.000000Z","updated_at":"2026-06-18T02:02:58.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":73,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":74,"workout_libraries_id":40,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","reps":null,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":79,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":80,"workout_libraries_id":57,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":81,"workout_libraries_id":65,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":15,"rows_with_lib_id":15,"rows_matched":5,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":10,"matched":4,"not_matched":6,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:03:05] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"class_id":335,"round_entries":[]} 
[2026-06-18 02:03:05] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:03:05] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"class_id":335,"round_entries":[]} 
[2026-06-18 02:03:05] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:03:05] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"class_id":335,"round_entries":[]} 
[2026-06-18 02:03:05] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 02:03:05] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":3,"completed":0,"status":0} 
[2026-06-18 02:03:05] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:03:05] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:03:05] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 02:03:12] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row warmup  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row accessory  
[2026-06-18 02:03:13] local.INFO: Saved type row strength  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row strength  
[2026-06-18 02:03:13] local.INFO: Saved type row accessory  
[2026-06-18 02:03:13] local.INFO: Saved type row strength  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row strength  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row warmup  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row warmup  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row strength  
[2026-06-18 02:03:13] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:13] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:13] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:13] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row accessory  
[2026-06-18 02:03:13] local.INFO: Saved type row accessory  
[2026-06-18 02:03:13] local.INFO: Saved type row accessory  
[2026-06-18 02:03:13] local.INFO: Saved type row warmup  
[2026-06-18 02:03:13] local.INFO: Saved type row warmup  
[2026-06-18 02:03:13] local.INFO: Saved type row warmup  
[2026-06-18 02:03:13] local.INFO: Saved type row warmup  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row strength  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:13] local.INFO: Saved type row warmup  
[2026-06-18 02:03:13] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:13] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:13] local.INFO: Saved type row warmup  
[2026-06-18 02:03:47] local.INFO: Tab value: all  
[2026-06-18 02:03:51] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row warmup  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row accessory  
[2026-06-18 02:03:51] local.INFO: Saved type row strength  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row strength  
[2026-06-18 02:03:51] local.INFO: Saved type row accessory  
[2026-06-18 02:03:51] local.INFO: Saved type row strength  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row strength  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row warmup  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row warmup  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row strength  
[2026-06-18 02:03:51] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:51] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:51] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:51] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row accessory  
[2026-06-18 02:03:51] local.INFO: Saved type row accessory  
[2026-06-18 02:03:51] local.INFO: Saved type row accessory  
[2026-06-18 02:03:51] local.INFO: Saved type row warmup  
[2026-06-18 02:03:51] local.INFO: Saved type row warmup  
[2026-06-18 02:03:51] local.INFO: Saved type row warmup  
[2026-06-18 02:03:51] local.INFO: Saved type row warmup  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row strength  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:51] local.INFO: Saved type row warmup  
[2026-06-18 02:03:51] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:51] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:51] local.INFO: Saved type row warmup  
[2026-06-18 02:03:57] local.INFO: assignWorkoutToClass:  {"workout_id":159,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row warmup  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row accessory  
[2026-06-18 02:03:58] local.INFO: Saved type row strength  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row strength  
[2026-06-18 02:03:58] local.INFO: Saved type row accessory  
[2026-06-18 02:03:58] local.INFO: Saved type row strength  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row strength  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row warmup  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row warmup  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row strength  
[2026-06-18 02:03:58] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:58] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:58] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:58] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row accessory  
[2026-06-18 02:03:58] local.INFO: Saved type row accessory  
[2026-06-18 02:03:58] local.INFO: Saved type row accessory  
[2026-06-18 02:03:58] local.INFO: Saved type row warmup  
[2026-06-18 02:03:58] local.INFO: Saved type row warmup  
[2026-06-18 02:03:58] local.INFO: Saved type row warmup  
[2026-06-18 02:03:58] local.INFO: Saved type row warmup  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row strength  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row conditioning  
[2026-06-18 02:03:58] local.INFO: Saved type row warmup  
[2026-06-18 02:03:58] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:58] local.INFO: Saved type row weightlifting  
[2026-06-18 02:03:58] local.INFO: Saved type row warmup  
[2026-06-18 02:03:58] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[176,214,177,215,159],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[176,214,177,215,159]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[159,176,177,214,215],"types":["Weightlifting","Strength","Accessory","Conditioning","Warmup"],"formats":["pyramid","intervals","straight-sets","amrap"]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":32,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":32,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":32,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":33,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":33,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":33,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":34,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":34,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":35,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":35,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":36,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":36,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":37,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":37,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":38,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":38,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":38,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":71,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":72,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":176,"relation":"intervals","format_row_id":73,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":73,"stationumber":2,"workout_manager_id":176,"workout_libraries_id":27,"training_load":20,"unit_type":"Kg","reps":6,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-18T02:02:58.000000Z","updated_at":"2026-06-18T02:02:58.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":73,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":74,"workout_libraries_id":40,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":45,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":45,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":45,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":46,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":47,"workout_libraries_id":23,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":48,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":48,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","reps":null,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":48,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":49,"workout_libraries_id":38,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":50,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":50,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":null,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-15T02:22:46.000000Z","updated_at":"2026-06-15T02:22:46.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":50,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":79,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":80,"workout_libraries_id":57,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":81,"workout_libraries_id":65,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:04:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":12,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":10,"matched":4,"not_matched":6,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":4}}} 
[2026-06-18 02:04:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:04:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"class_id":335,"round_entries":[]} 
[2026-06-18 02:04:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:04:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:04:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"class_id":335,"round_entries":[]} 
[2026-06-18 02:04:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:04:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:04:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"class_id":335,"round_entries":[]} 
[2026-06-18 02:04:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:04:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":7,"completed":0,"status":0} 
[2026-06-18 02:04:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-18 02:04:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-18 02:04:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 02:04:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":3,"completed":0,"status":0} 
[2026-06-18 02:04:09] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:04:09] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:04:09] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 02:05:20] local.INFO: Tab value: all  
[2026-06-18 02:05:23] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row warmup  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row accessory  
[2026-06-18 02:05:23] local.INFO: Saved type row strength  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row weightlifting  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row strength  
[2026-06-18 02:05:23] local.INFO: Saved type row accessory  
[2026-06-18 02:05:23] local.INFO: Saved type row strength  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row strength  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row warmup  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row warmup  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row strength  
[2026-06-18 02:05:23] local.INFO: Saved type row weightlifting  
[2026-06-18 02:05:23] local.INFO: Saved type row weightlifting  
[2026-06-18 02:05:23] local.INFO: Saved type row weightlifting  
[2026-06-18 02:05:23] local.INFO: Saved type row weightlifting  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row accessory  
[2026-06-18 02:05:23] local.INFO: Saved type row accessory  
[2026-06-18 02:05:23] local.INFO: Saved type row accessory  
[2026-06-18 02:05:23] local.INFO: Saved type row warmup  
[2026-06-18 02:05:23] local.INFO: Saved type row warmup  
[2026-06-18 02:05:23] local.INFO: Saved type row warmup  
[2026-06-18 02:05:23] local.INFO: Saved type row warmup  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row strength  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row conditioning  
[2026-06-18 02:05:23] local.INFO: Saved type row warmup  
[2026-06-18 02:05:23] local.INFO: Saved type row weightlifting  
[2026-06-18 02:05:23] local.INFO: Saved type row weightlifting  
[2026-06-18 02:05:23] local.INFO: Saved type row warmup  
[2026-06-18 02:05:26] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[176,214,177,215,159],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[176,214,177,215,159]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[159,176,177,214,215],"types":["Weightlifting","Strength","Accessory","Conditioning","Warmup"],"formats":["pyramid","intervals","straight-sets","amrap"]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":32,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":32,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":32,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":33,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":33,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":33,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":34,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":34,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":35,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":35,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":36,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":36,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":37,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":37,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":38,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":38,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":38,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":71,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":72,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":176,"relation":"intervals","format_row_id":73,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":73,"stationumber":2,"workout_manager_id":176,"workout_libraries_id":27,"training_load":20,"unit_type":"Kg","reps":6,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-18T02:02:58.000000Z","updated_at":"2026-06-18T02:02:58.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":73,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"intervals","format_row_id":74,"workout_libraries_id":40,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":75,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":75,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":4,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":75,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":76,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":77,"workout_libraries_id":23,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":78,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":78,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","reps":4,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":78,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":79,"workout_libraries_id":38,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":80,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":80,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":3,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":80,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":79,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":80,"workout_libraries_id":57,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":81,"workout_libraries_id":65,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":22,"rows_with_lib_id":22,"rows_matched":12,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":10,"matched":4,"not_matched":6,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":4}}} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:05:26] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"class_id":335,"round_entries":[]} 
[2026-06-18 02:05:26] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:05:26] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"class_id":335,"round_entries":[]} 
[2026-06-18 02:05:26] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:05:26] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"class_id":335,"round_entries":[]} 
[2026-06-18 02:05:26] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":7,"completed":0,"status":0} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 02:05:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":3,"completed":0,"status":0} 
[2026-06-18 02:05:26] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:05:26] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:05:26] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 02:09:02] local.INFO: Tab value: all  
[2026-06-18 02:09:04] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row warmup  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row accessory  
[2026-06-18 02:09:04] local.INFO: Saved type row strength  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row weightlifting  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row strength  
[2026-06-18 02:09:04] local.INFO: Saved type row accessory  
[2026-06-18 02:09:04] local.INFO: Saved type row strength  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row strength  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row warmup  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row warmup  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row strength  
[2026-06-18 02:09:04] local.INFO: Saved type row weightlifting  
[2026-06-18 02:09:04] local.INFO: Saved type row weightlifting  
[2026-06-18 02:09:04] local.INFO: Saved type row weightlifting  
[2026-06-18 02:09:04] local.INFO: Saved type row weightlifting  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row accessory  
[2026-06-18 02:09:04] local.INFO: Saved type row accessory  
[2026-06-18 02:09:04] local.INFO: Saved type row accessory  
[2026-06-18 02:09:04] local.INFO: Saved type row warmup  
[2026-06-18 02:09:04] local.INFO: Saved type row warmup  
[2026-06-18 02:09:04] local.INFO: Saved type row warmup  
[2026-06-18 02:09:04] local.INFO: Saved type row warmup  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row strength  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row conditioning  
[2026-06-18 02:09:04] local.INFO: Saved type row warmup  
[2026-06-18 02:09:04] local.INFO: Saved type row weightlifting  
[2026-06-18 02:09:04] local.INFO: Saved type row weightlifting  
[2026-06-18 02:09:04] local.INFO: Saved type row warmup  
[2026-06-18 02:09:09] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[176,214,177,215,159],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[176,214,177,215,159]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[159,176,177,214,215],"types":["Weightlifting","Strength","Accessory","Conditioning","Warmup"],"formats":["pyramid","emom","intervals","straight-sets","amrap"]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":32,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":32,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":32,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":33,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":33,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":33,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":34,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":34,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":35,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":35,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":36,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":36,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":37,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":37,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":38,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":38,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":38,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":45,"workout_libraries_id":98,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":75,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":75,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":4,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":75,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":76,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":77,"workout_libraries_id":23,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":78,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":78,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","reps":4,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":78,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":79,"workout_libraries_id":38,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":80,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":80,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":3,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":80,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":79,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":80,"workout_libraries_id":57,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":81,"workout_libraries_id":65,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":19,"rows_with_lib_id":19,"rows_matched":11,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":4}}} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:09:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"class_id":335,"round_entries":[]} 
[2026-06-18 02:09:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:09:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"class_id":335,"round_entries":[]} 
[2026-06-18 02:09:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:09:09] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"class_id":335,"round_entries":[]} 
[2026-06-18 02:09:09] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":7,"completed":0,"status":0} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":1,"completed":0,"status":0} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 02:09:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":3,"completed":0,"status":0} 
[2026-06-18 02:09:09] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:09:09] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:09:09] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 02:09:57] local.INFO: Fetched workouts {"count":{"Illuminate\\Database\\Eloquent\\Collection":[{"id":95,"category_options_id":8,"type":"conditioning","workout":"Air bike","link":"https://www.youtube.com/","created_at":"2024-11-28T03:17:42.000000Z","updated_at":"2026-03-29T23:00:57.000000Z"},{"id":65,"category_options_id":4,"type":"strength","workout":"Air squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:04.000000Z","updated_at":"2024-11-28T02:35:04.000000Z"},{"id":44,"category_options_id":2,"type":"strength","workout":"Arnold press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:24.000000Z","updated_at":"2024-11-28T02:11:24.000000Z"},{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z"},{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z"},{"id":104,"category_options_id":1,"type":"warmup","workout":"Banded mid row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:02.000000Z","updated_at":"2024-11-28T03:22:17.000000Z"},{"id":107,"category_options_id":1,"type":"warmup","workout":"Banded pull apart","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:09.000000Z","updated_at":"2024-11-28T03:23:09.000000Z"},{"id":112,"category_options_id":3,"type":"warmup","workout":"Banded pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:50.000000Z","updated_at":"2024-11-28T03:24:50.000000Z"},{"id":33,"category_options_id":1,"type":"strength","workout":"Banded row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:43.000000Z","updated_at":"2024-11-28T01:55:43.000000Z"},{"id":109,"category_options_id":2,"type":"warmup","workout":"Banded strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:23:54.000000Z","updated_at":"2024-11-28T03:23:54.000000Z"},{"id":152,"category_options_id":8,"type":null,"workout":"Bar facing burpee","link":null,"created_at":"2026-04-08T02:23:27.000000Z","updated_at":"2026-04-08T02:23:27.000000Z"},{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z"},{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z"},{"id":154,"category_options_id":10,"type":null,"workout":"Bicep Curl","link":null,"created_at":"2026-04-22T02:12:15.000000Z","updated_at":"2026-04-22T02:12:15.000000Z"},{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z"},{"id":103,"category_options_id":8,"type":"conditioning","workout":"Box jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:28.000000Z","updated_at":"2024-11-28T03:20:28.000000Z"},{"id":113,"category_options_id":4,"type":"warmup","workout":"Box squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:11.000000Z","updated_at":"2024-11-28T03:25:11.000000Z"},{"id":102,"category_options_id":8,"type":"conditioning","workout":"Broad jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:20:10.000000Z","updated_at":"2024-11-28T03:20:10.000000Z"},{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z"},{"id":99,"category_options_id":8,"type":"conditioning","workout":"Burpees","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:11.000000Z","updated_at":"2024-11-28T03:19:11.000000Z"},{"id":58,"category_options_id":3,"type":"strength","workout":"Chest to bar pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:35.000000Z","updated_at":"2024-11-28T02:32:35.000000Z"},{"id":55,"category_options_id":3,"type":"strength","workout":"Chin up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:31:32.000000Z","updated_at":"2024-11-28T02:31:32.000000Z"},{"id":156,"category_options_id":11,"type":"weightlifting","workout":"Clean","link":null,"created_at":"2026-06-18T01:18:48.000000Z","updated_at":"2026-06-18T01:18:48.000000Z"},{"id":114,"category_options_id":4,"type":"warmup","workout":"Counterweight squat","link":"https://www.youtube.com/","created_at":"2024-11-28T03:25:30.000000Z","updated_at":"2024-11-28T03:25:30.000000Z"},{"id":69,"category_options_id":4,"type":"strength","workout":"Cyclist squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:36.000000Z","updated_at":"2024-11-28T02:36:36.000000Z"},{"id":133,"category_options_id":8,"type":"Conditioning","workout":"DB box step overs","link":null,"created_at":"2026-01-15T00:29:01.000000Z","updated_at":"2026-01-15T00:29:01.000000Z"},{"id":45,"category_options_id":2,"type":"strength","workout":"DB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:11:48.000000Z","updated_at":"2024-11-28T02:11:48.000000Z"},{"id":25,"category_options_id":1,"type":"strength","workout":"DB row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:52:44.000000Z","updated_at":"2024-11-28T01:52:44.000000Z"},{"id":41,"category_options_id":2,"type":"strength","workout":"DB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:09.000000Z","updated_at":"2024-11-28T02:07:09.000000Z"},{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z"},{"id":145,"category_options_id":5,"type":"Strength","workout":"Death March","link":null,"created_at":"2026-02-24T00:22:52.000000Z","updated_at":"2026-02-24T00:22:52.000000Z"},{"id":155,"category_options_id":5,"type":null,"workout":"Deficit Deadlift","link":null,"created_at":"2026-04-23T01:44:46.000000Z","updated_at":"2026-04-23T01:44:46.000000Z"},{"id":100,"category_options_id":8,"type":"conditioning","workout":"Devils press","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:26.000000Z","updated_at":"2024-11-28T03:19:26.000000Z"},{"id":147,"category_options_id":10,"type":"Conditioning","workout":"erg bicep curl","link":null,"created_at":"2026-02-24T00:29:54.000000Z","updated_at":"2026-02-24T00:29:54.000000Z"},{"id":60,"category_options_id":4,"type":"strength","workout":"Front squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:20.000000Z","updated_at":"2024-11-28T02:33:20.000000Z"},{"id":80,"category_options_id":5,"type":"strength","workout":"GHD extension","link":"https://www.youtube.com/","created_at":"2024-11-28T02:46:26.000000Z","updated_at":"2024-11-28T02:46:26.000000Z"},{"id":148,"category_options_id":10,"type":"Conditioning","workout":"GHD sit up","link":null,"created_at":"2026-02-24T00:32:54.000000Z","updated_at":"2026-02-24T00:32:54.000000Z"},{"id":79,"category_options_id":5,"type":"strength","workout":"Glut bridge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:56.000000Z","updated_at":"2024-11-28T02:45:56.000000Z"},{"id":62,"category_options_id":4,"type":"strength","workout":"Goblet Squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:59.000000Z","updated_at":"2024-11-28T02:33:59.000000Z"},{"id":37,"category_options_id":1,"type":"strength","workout":"Gorilla row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:37.000000Z","updated_at":"2024-11-28T01:57:37.000000Z"},{"id":151,"category_options_id":10,"type":null,"workout":"Hamstring Curl","link":null,"created_at":"2026-04-01T22:22:28.000000Z","updated_at":"2026-04-01T22:22:28.000000Z"},{"id":110,"category_options_id":2,"type":"warmup","workout":"Handstand hold","link":"https://www.youtube.com/","created_at":"2024-11-28T03:24:13.000000Z","updated_at":"2024-11-28T03:24:13.000000Z"},{"id":51,"category_options_id":2,"type":"strength","workout":"Handstand push up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:16:41.000000Z","updated_at":"2024-11-28T02:16:41.000000Z"},{"id":34,"category_options_id":1,"type":"strength","workout":"Head supported row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:56:25.000000Z","updated_at":"2024-11-28T01:56:25.000000Z"},{"id":78,"category_options_id":5,"type":"strength","workout":"Hex bar deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:29.000000Z","updated_at":"2024-11-28T02:45:29.000000Z"},{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z"},{"id":36,"category_options_id":1,"type":"strength","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:21.000000Z","updated_at":"2024-11-28T01:57:21.000000Z"},{"id":105,"category_options_id":1,"type":"warmup","workout":"Inverted row","link":"https://www.youtube.com/","created_at":"2024-11-28T03:22:35.000000Z","updated_at":"2024-11-28T03:22:35.000000Z"},{"id":23,"category_options_id":8,"type":"warmup","workout":"Jump Rope","link":"https://www.youtube.com/","created_at":"2024-08-13T06:34:50.000000Z","updated_at":"2024-08-13T06:34:50.000000Z"},{"id":49,"category_options_id":2,"type":"strength","workout":"KB push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:40.000000Z","updated_at":"2024-11-28T02:13:40.000000Z"},{"id":50,"category_options_id":2,"type":"strength","workout":"KB strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:14:05.000000Z","updated_at":"2024-11-28T02:14:05.000000Z"},{"id":74,"category_options_id":5,"type":"strength","workout":"KB swing","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:06.000000Z","updated_at":"2024-11-28T02:43:06.000000Z"},{"id":76,"category_options_id":5,"type":"strength","workout":"Landmine RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:44:43.000000Z","updated_at":"2024-11-28T02:44:43.000000Z"},{"id":54,"category_options_id":3,"type":"strength","workout":"Lat lock","link":"https://www.youtube.com/","created_at":"2024-11-28T02:27:41.000000Z","updated_at":"2024-11-28T02:27:41.000000Z"},{"id":43,"category_options_id":3,"type":"strength","workout":"Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:10:25.000000Z","updated_at":"2024-11-28T02:10:25.000000Z"},{"id":150,"category_options_id":10,"type":"Strength","workout":"Leg extension","link":null,"created_at":"2026-03-10T23:29:29.000000Z","updated_at":"2026-03-10T23:29:29.000000Z"},{"id":66,"category_options_id":4,"type":"strength","workout":"Low bar squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:30.000000Z","updated_at":"2024-11-28T02:35:30.000000Z"},{"id":146,"category_options_id":10,"type":"Warmup","workout":"McGill curl up","link":null,"created_at":"2026-02-24T00:24:52.000000Z","updated_at":"2026-02-24T00:24:52.000000Z"},{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z"},{"id":57,"category_options_id":3,"type":"Select","workout":"Muscle up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:18.000000Z","updated_at":"2024-11-28T02:32:18.000000Z"},{"id":61,"category_options_id":4,"type":"strength","workout":"Overhead squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:33:37.000000Z","updated_at":"2024-11-28T02:33:37.000000Z"},{"id":26,"category_options_id":1,"type":"strength","workout":"Pendlay Row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:05.000000Z","updated_at":"2024-11-28T01:53:05.000000Z"},{"id":46,"category_options_id":2,"type":"strength","workout":"Piston press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:12:06.000000Z","updated_at":"2024-11-28T02:12:06.000000Z"},{"id":48,"category_options_id":2,"type":"strength","workout":"Plate press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:13:15.000000Z","updated_at":"2024-11-28T02:13:15.000000Z"},{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z"},{"id":40,"category_options_id":2,"type":"strength","workout":"Push press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:06:25.000000Z","updated_at":"2024-11-28T02:06:25.000000Z"},{"id":127,"category_options_id":9,"type":"Warmup","workout":"Push up","link":null,"created_at":"2026-01-12T05:25:48.000000Z","updated_at":"2026-01-12T05:25:48.000000Z"},{"id":129,"category_options_id":5,"type":"Warmup","workout":"RDL","link":null,"created_at":"2026-01-15T00:21:08.000000Z","updated_at":"2026-01-15T00:21:08.000000Z"},{"id":68,"category_options_id":4,"type":"strength","workout":"Reverse lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:36:11.000000Z","updated_at":"2024-11-28T02:36:11.000000Z"},{"id":59,"category_options_id":3,"type":"strength","workout":"Ring pull up","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:57.000000Z","updated_at":"2024-11-28T02:32:57.000000Z"},{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z"},{"id":72,"category_options_id":5,"type":"strength","workout":"Romanian Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:27.000000Z","updated_at":"2024-11-28T02:42:27.000000Z"},{"id":98,"category_options_id":8,"type":"conditioning","workout":"Rower","link":"https://www.youtube.com/","created_at":"2024-11-28T03:18:52.000000Z","updated_at":"2026-03-29T23:00:51.000000Z"},{"id":101,"category_options_id":8,"type":"conditioning","workout":"Run","link":"https://www.youtube.com/","created_at":"2024-11-28T03:19:44.000000Z","updated_at":"2024-11-28T03:19:44.000000Z"},{"id":28,"category_options_id":1,"type":"strength","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:57.000000Z","updated_at":"2024-11-28T01:53:57.000000Z"},{"id":117,"category_options_id":5,"type":"Weightlifting","workout":"Seal row","link":"https://www.youtube.com/","created_at":"2024-12-05T02:45:37.000000Z","updated_at":"2024-12-05T02:45:37.000000Z"},{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z"},{"id":157,"category_options_id":11,"type":"weightlifting","workout":"Snatch","link":null,"created_at":"2026-06-18T01:19:02.000000Z","updated_at":"2026-06-18T01:19:02.000000Z"},{"id":63,"category_options_id":4,"type":"strength","workout":"Spanish squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:18.000000Z","updated_at":"2024-11-28T02:34:18.000000Z"},{"id":52,"category_options_id":2,"type":"strength","workout":"Split stance press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:20:46.000000Z","updated_at":"2024-11-28T02:20:46.000000Z"},{"id":75,"category_options_id":5,"type":"strength","workout":"Split stance RDL","link":"https://www.youtube.com/","created_at":"2024-11-28T02:43:24.000000Z","updated_at":"2024-11-28T02:43:24.000000Z"},{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z"},{"id":73,"category_options_id":5,"type":"strength","workout":"Stiff legged deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:50.000000Z","updated_at":"2024-11-28T02:42:50.000000Z"},{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z"},{"id":149,"category_options_id":4,"type":"Strength","workout":"Thruster","link":null,"created_at":"2026-03-03T01:14:13.000000Z","updated_at":"2026-03-03T01:14:13.000000Z"},{"id":115,"category_options_id":4,"type":"warmup","workout":"Vertical jump","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:03.000000Z","updated_at":"2024-11-28T03:26:03.000000Z"},{"id":67,"category_options_id":4,"type":"strength","workout":"walking lunge","link":"https://www.youtube.com/","created_at":"2024-11-28T02:35:52.000000Z","updated_at":"2024-11-28T02:35:52.000000Z"},{"id":38,"category_options_id":1,"type":"strength","workout":"Wide grip row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:58:11.000000Z","updated_at":"2024-11-28T01:58:11.000000Z"},{"id":141,"category_options_id":4,"type":"Strength","workout":"Zercher squat","link":null,"created_at":"2026-01-23T00:12:55.000000Z","updated_at":"2026-01-23T00:12:55.000000Z"}]},"types":{"Illuminate\\Support\\Collection":{"0":"conditioning","1":"strength","4":"warmup","10":null,"11":"Test","22":"weightlifting","25":"Conditioning","30":"Strength","57":"Warmup","59":"Select","75":"Weightlifting"}}} 
[2026-06-18 02:09:57] local.INFO: Debug record {"daily_id":96,"format_type":"rounds","format_id":115,"library_id":17,"type":"Warmup","weight":50} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyStrength","workout_format_id":90,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyStrength","workout_format_id":89,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyStrength","workout_format_id":88,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":75,"model":"App\\Models\\DailyStrength","workout_format_id":87,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":74,"model":"App\\Models\\DailyStrength","workout_format_id":86,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":73,"model":"App\\Models\\DailyStrength","workout_format_id":85,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":72,"model":"App\\Models\\DailyStrength","workout_format_id":84,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":71,"model":"App\\Models\\DailyStrength","workout_format_id":83,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyStrength","workout_format_id":100,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyStrength","workout_format_id":101,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyStrength","workout_format_id":102,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyStrength","workout_format_id":103,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyStrength","workout_format_id":104,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":98,"model":"App\\Models\\DailyStrength","workout_format_id":35,"workout_format_type":"emom"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyStrength","workout_format_id":256,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyStrength","workout_format_id":259,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":109,"model":"App\\Models\\DailyStrength","workout_format_id":260,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":110,"model":"App\\Models\\DailyStrength","workout_format_id":257,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":111,"model":"App\\Models\\DailyStrength","workout_format_id":262,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":112,"model":"App\\Models\\DailyStrength","workout_format_id":263,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":113,"model":"App\\Models\\DailyStrength","workout_format_id":264,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.INFO: Debug record {"daily_id":79,"format_type":"straight-sets","format_id":99,"library_id":17,"type":"Strength","weight":"0"} 
[2026-06-18 02:09:57] local.INFO: Debug record {"daily_id":105,"format_type":"straight-sets","format_id":246,"library_id":17,"type":"Strength","weight":"132"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyWeightlifting","workout_format_id":110,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":54,"model":"App\\Models\\DailyConditioning","workout_format_id":180,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":55,"model":"App\\Models\\DailyConditioning","workout_format_id":181,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":56,"model":"App\\Models\\DailyConditioning","workout_format_id":182,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":57,"model":"App\\Models\\DailyConditioning","workout_format_id":183,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":58,"model":"App\\Models\\DailyConditioning","workout_format_id":184,"workout_format_type":"straight-sets"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":59,"model":"App\\Models\\DailyConditioning","workout_format_id":38,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":60,"model":"App\\Models\\DailyConditioning","workout_format_id":39,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":61,"model":"App\\Models\\DailyConditioning","workout_format_id":40,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":62,"model":"App\\Models\\DailyConditioning","workout_format_id":41,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":65,"model":"App\\Models\\DailyConditioning","workout_format_id":15,"workout_format_type":"emom"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":76,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"pyramid"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":77,"model":"App\\Models\\DailyConditioning","workout_format_id":9,"workout_format_type":"pyramid"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":78,"model":"App\\Models\\DailyConditioning","workout_format_id":6,"workout_format_type":"circuit"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":81,"model":"App\\Models\\DailyConditioning","workout_format_id":8,"workout_format_type":"circuit"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":92,"model":"App\\Models\\DailyConditioning","workout_format_id":90,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":93,"model":"App\\Models\\DailyConditioning","workout_format_id":91,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":94,"model":"App\\Models\\DailyConditioning","workout_format_id":92,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":95,"model":"App\\Models\\DailyConditioning","workout_format_id":93,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":96,"model":"App\\Models\\DailyConditioning","workout_format_id":94,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":97,"model":"App\\Models\\DailyConditioning","workout_format_id":25,"workout_format_type":"intervals"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":99,"model":"App\\Models\\DailyConditioning","workout_format_id":27,"workout_format_type":"intervals"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":101,"model":"App\\Models\\DailyConditioning","workout_format_id":70,"workout_format_type":"amrap"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":104,"model":"App\\Models\\DailyConditioning","workout_format_id":95,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":105,"model":"App\\Models\\DailyConditioning","workout_format_id":96,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":106,"model":"App\\Models\\DailyConditioning","workout_format_id":97,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":107,"model":"App\\Models\\DailyConditioning","workout_format_id":98,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":108,"model":"App\\Models\\DailyConditioning","workout_format_id":99,"workout_format_type":"rounds"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":120,"model":"App\\Models\\DailyConditioning","workout_format_id":60,"workout_format_type":"intervals"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":121,"model":"App\\Models\\DailyConditioning","workout_format_id":61,"workout_format_type":"intervals"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":122,"model":"App\\Models\\DailyConditioning","workout_format_id":62,"workout_format_type":"intervals"} 
[2026-06-18 02:09:57] local.INFO: Debug record {"daily_id":67,"format_type":"intervals","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-18 02:09:57] local.INFO: Debug record {"daily_id":91,"format_type":"pyramid","format_id":14,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-18 02:09:57] local.INFO: Debug record {"daily_id":110,"format_type":"straight-sets","format_id":242,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-18 02:09:57] local.INFO: Debug record {"daily_id":115,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-18 02:09:57] local.INFO: Debug record {"daily_id":117,"format_type":"intervals","format_id":43,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-18 02:09:57] local.INFO: Debug record {"daily_id":118,"format_type":"straight-sets","format_id":265,"library_id":17,"type":"Conditioning","weight":"132"} 
[2026-06-18 02:09:57] local.INFO: Debug record {"daily_id":119,"format_type":"straight-sets","format_id":266,"library_id":17,"type":"Conditioning","weight":"132"} 
[2026-06-18 02:09:57] local.INFO: Debug record {"daily_id":123,"format_type":"intervals","format_id":63,"library_id":17,"type":"Conditioning","weight":0} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":16,"model":"App\\Models\\DailyAccessory","workout_format_id":45,"workout_format_type":"intervals"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":17,"model":"App\\Models\\DailyAccessory","workout_format_id":46,"workout_format_type":"intervals"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":18,"model":"App\\Models\\DailyAccessory","workout_format_id":47,"workout_format_type":"intervals"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":19,"model":"App\\Models\\DailyAccessory","workout_format_id":48,"workout_format_type":"intervals"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":20,"model":"App\\Models\\DailyAccessory","workout_format_id":49,"workout_format_type":"intervals"} 
[2026-06-18 02:09:57] local.WARNING: Workout format missing for item {"daily_id":21,"model":"App\\Models\\DailyAccessory","workout_format_id":50,"workout_format_type":"intervals"} 
[2026-06-18 02:09:57] local.INFO: Debug record {"daily_id":14,"format_type":"emom","format_id":16,"library_id":17,"type":"Accessory","weight":0} 
[2026-06-18 02:40:41] local.INFO: mobile login pin : 7825  
[2026-06-18 02:40:48] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[176,214,177,215,159],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[176,214,177,215,159]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[159,176,177,214,215],"types":["Weightlifting","Strength","Accessory","Conditioning","Warmup"],"formats":["pyramid","emom","intervals","straight-sets","amrap"]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":32,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":32,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":32,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":33,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":33,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":33,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":34,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":34,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":35,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":35,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":36,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":36,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":37,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":37,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":38,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":38,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":38,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":45,"workout_libraries_id":98,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":75,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":75,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":4,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":75,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":76,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":77,"workout_libraries_id":23,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":78,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":78,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","reps":4,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":78,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":79,"workout_libraries_id":38,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":80,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":80,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":3,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":80,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":79,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":80,"workout_libraries_id":57,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":81,"workout_libraries_id":65,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:40:48] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":19,"rows_with_lib_id":19,"rows_matched":11,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":4}}} 
[2026-06-18 02:40:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:40:49] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"class_id":335,"round_entries":[]} 
[2026-06-18 02:40:49] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:40:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:40:49] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"class_id":335,"round_entries":[]} 
[2026-06-18 02:40:49] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:40:49] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:40:49] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"class_id":335,"round_entries":[]} 
[2026-06-18 02:40:49] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:40:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":7,"completed":0,"status":0} 
[2026-06-18 02:40:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":1,"completed":0,"status":0} 
[2026-06-18 02:40:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-18 02:40:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 02:40:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":3,"completed":0,"status":0} 
[2026-06-18 02:40:49] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:40:49] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:40:49] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 02:50:32] local.INFO: Tab value: all  
[2026-06-18 02:50:33] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row accessory  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row accessory  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row accessory  
[2026-06-18 02:50:33] local.INFO: Saved type row accessory  
[2026-06-18 02:50:33] local.INFO: Saved type row accessory  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row accessory  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row accessory  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row accessory  
[2026-06-18 02:50:33] local.INFO: Saved type row accessory  
[2026-06-18 02:50:33] local.INFO: Saved type row accessory  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row strength  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:33] local.INFO: Saved type row warmup  
[2026-06-18 02:50:50] local.INFO: assignWorkoutToClass:  {"workout_id":176,"class_id":335,"type":"workout_manager","action":"unassign","date":"18/06/26 Thursday"} 
[2026-06-18 02:50:50] local.INFO: Saved type row strength  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row warmup  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row accessory  
[2026-06-18 02:50:50] local.INFO: Saved type row strength  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row strength  
[2026-06-18 02:50:50] local.INFO: Saved type row accessory  
[2026-06-18 02:50:50] local.INFO: Saved type row strength  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row strength  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row warmup  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row warmup  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row strength  
[2026-06-18 02:50:50] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:50] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:50] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:50] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row accessory  
[2026-06-18 02:50:50] local.INFO: Saved type row accessory  
[2026-06-18 02:50:50] local.INFO: Saved type row accessory  
[2026-06-18 02:50:50] local.INFO: Saved type row warmup  
[2026-06-18 02:50:50] local.INFO: Saved type row warmup  
[2026-06-18 02:50:50] local.INFO: Saved type row warmup  
[2026-06-18 02:50:50] local.INFO: Saved type row warmup  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row strength  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:50] local.INFO: Saved type row warmup  
[2026-06-18 02:50:50] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:50] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:50] local.INFO: Saved type row warmup  
[2026-06-18 02:50:51] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:50:57] local.INFO: assignWorkoutToClass:  {"workout_id":217,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 02:50:57] local.INFO: Saved type row strength  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row warmup  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row accessory  
[2026-06-18 02:50:57] local.INFO: Saved type row strength  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row strength  
[2026-06-18 02:50:57] local.INFO: Saved type row accessory  
[2026-06-18 02:50:57] local.INFO: Saved type row strength  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row strength  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row warmup  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row warmup  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row strength  
[2026-06-18 02:50:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row accessory  
[2026-06-18 02:50:57] local.INFO: Saved type row accessory  
[2026-06-18 02:50:57] local.INFO: Saved type row accessory  
[2026-06-18 02:50:57] local.INFO: Saved type row warmup  
[2026-06-18 02:50:57] local.INFO: Saved type row warmup  
[2026-06-18 02:50:57] local.INFO: Saved type row warmup  
[2026-06-18 02:50:57] local.INFO: Saved type row warmup  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row strength  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row conditioning  
[2026-06-18 02:50:57] local.INFO: Saved type row warmup  
[2026-06-18 02:50:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:57] local.INFO: Saved type row weightlifting  
[2026-06-18 02:50:57] local.INFO: Saved type row warmup  
[2026-06-18 02:50:58] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,214,177,215,159],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,214,177,215,159]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[159,177,214,215,217],"types":["Weightlifting","Accessory","Conditioning","Warmup","Strength"],"formats":["pyramid","intervals","straight-sets","amrap"]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":32,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":32,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":32,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":33,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":33,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":33,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":34,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":34,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":35,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":35,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":36,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":36,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":37,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":37,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":38,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":38,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":38,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":75,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":75,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":4,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":75,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":76,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":77,"workout_libraries_id":23,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":78,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":78,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","reps":4,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":78,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":79,"workout_libraries_id":38,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":80,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":80,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":3,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":80,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":79,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":80,"workout_libraries_id":57,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":81,"workout_libraries_id":65,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":87,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":87,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T02:50:29.000000Z","updated_at":"2026-06-18T02:50:29.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":87,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":294,"workout_libraries_id":71,"straight_id":87,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T02:50:29.000000Z","updated_at":"2026-06-18T02:50:29.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":295,"workout_libraries_id":71,"straight_id":87,"res":0,"training_load":80,"unittype":"%","created_at":"2026-06-18T02:50:29.000000Z","updated_at":"2026-06-18T02:50:29.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":296,"workout_libraries_id":71,"straight_id":87,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T02:50:29.000000Z","updated_at":"2026-06-18T02:50:29.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":297,"workout_libraries_id":71,"straight_id":87,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T02:50:29.000000Z","updated_at":"2026-06-18T02:50:29.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":298,"workout_libraries_id":71,"straight_id":87,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T02:50:29.000000Z","updated_at":"2026-06-18T02:50:29.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":88,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":12,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":4,"matched":2,"not_matched":2,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":4}}} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:52:30] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"class_id":335,"round_entries":[]} 
[2026-06-18 02:52:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:52:30] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"class_id":335,"round_entries":[]} 
[2026-06-18 02:52:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:52:30] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"class_id":335,"round_entries":[]} 
[2026-06-18 02:52:30] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":7,"completed":0,"status":0} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":3,"completed":0,"status":0} 
[2026-06-18 02:52:30] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":10,"completed":0,"status":0} 
[2026-06-18 02:52:30] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:52:30] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:52:30] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,214,177,215,159],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,214,177,215,159]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[159,177,214,215,217],"types":["Weightlifting","Accessory","Conditioning","Warmup","Strength"],"formats":["pyramid","intervals","straight-sets","amrap"]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":32,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":32,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":32,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":33,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":33,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":33,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":34,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":34,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":35,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":35,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":36,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":36,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":37,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":37,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":38,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":38,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":38,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":75,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":75,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":4,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":75,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":76,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":77,"workout_libraries_id":23,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":78,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":78,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","reps":4,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":78,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":79,"workout_libraries_id":38,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":80,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":80,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":3,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":80,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":79,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":80,"workout_libraries_id":57,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":81,"workout_libraries_id":65,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":89,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":89,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T02:53:03.000000Z","updated_at":"2026-06-18T02:53:03.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":89,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":304,"workout_libraries_id":71,"straight_id":89,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T02:53:03.000000Z","updated_at":"2026-06-18T02:53:03.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":305,"workout_libraries_id":71,"straight_id":89,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T02:53:03.000000Z","updated_at":"2026-06-18T02:53:03.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":306,"workout_libraries_id":71,"straight_id":89,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T02:53:03.000000Z","updated_at":"2026-06-18T02:53:03.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":307,"workout_libraries_id":71,"straight_id":89,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T02:53:03.000000Z","updated_at":"2026-06-18T02:53:03.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":308,"workout_libraries_id":71,"straight_id":89,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T02:53:03.000000Z","updated_at":"2026-06-18T02:53:03.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":90,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":12,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":4,"matched":2,"not_matched":2,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":4}}} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:53:04] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"class_id":335,"round_entries":[]} 
[2026-06-18 02:53:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:53:04] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"class_id":335,"round_entries":[]} 
[2026-06-18 02:53:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 02:53:04] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"class_id":335,"round_entries":[]} 
[2026-06-18 02:53:04] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":7,"completed":0,"status":0} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":3,"completed":0,"status":0} 
[2026-06-18 02:53:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":10,"completed":0,"status":0} 
[2026-06-18 02:53:04] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:53:04] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 02:53:04] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 02:53:06] local.INFO: Tab value: all  
[2026-06-18 02:53:06] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 02:53:06] local.INFO: Saved type row strength  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row warmup  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row accessory  
[2026-06-18 02:53:06] local.INFO: Saved type row strength  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row strength  
[2026-06-18 02:53:06] local.INFO: Saved type row accessory  
[2026-06-18 02:53:06] local.INFO: Saved type row strength  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row strength  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row warmup  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row warmup  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row strength  
[2026-06-18 02:53:06] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:06] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:06] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:06] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row accessory  
[2026-06-18 02:53:06] local.INFO: Saved type row accessory  
[2026-06-18 02:53:06] local.INFO: Saved type row accessory  
[2026-06-18 02:53:06] local.INFO: Saved type row warmup  
[2026-06-18 02:53:06] local.INFO: Saved type row warmup  
[2026-06-18 02:53:06] local.INFO: Saved type row warmup  
[2026-06-18 02:53:06] local.INFO: Saved type row warmup  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row strength  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:06] local.INFO: Saved type row warmup  
[2026-06-18 02:53:06] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:06] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:06] local.INFO: Saved type row warmup  
[2026-06-18 02:53:07] local.INFO: Saved type row strength  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row warmup  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row accessory  
[2026-06-18 02:53:07] local.INFO: Saved type row strength  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row strength  
[2026-06-18 02:53:07] local.INFO: Saved type row accessory  
[2026-06-18 02:53:07] local.INFO: Saved type row strength  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row strength  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row warmup  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row warmup  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row strength  
[2026-06-18 02:53:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row accessory  
[2026-06-18 02:53:07] local.INFO: Saved type row accessory  
[2026-06-18 02:53:07] local.INFO: Saved type row accessory  
[2026-06-18 02:53:07] local.INFO: Saved type row warmup  
[2026-06-18 02:53:07] local.INFO: Saved type row warmup  
[2026-06-18 02:53:07] local.INFO: Saved type row warmup  
[2026-06-18 02:53:07] local.INFO: Saved type row warmup  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row strength  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row conditioning  
[2026-06-18 02:53:07] local.INFO: Saved type row warmup  
[2026-06-18 02:53:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:07] local.INFO: Saved type row weightlifting  
[2026-06-18 02:53:07] local.INFO: Saved type row warmup  
[2026-06-18 02:53:12] local.INFO: storestrengthdaily function called.  
[2026-06-18 02:53:12] local.INFO: storestrengthdaily function called.  
[2026-06-18 02:53:12] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 02:53:12] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 02:53:12] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":309,"reps":6,"weight":0,"date":"18/06/26 Thursday","set_number":1,"class_Id":335}]} 
[2026-06-18 02:53:12] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":304,"reps":5,"weight":130,"date":"18/06/26 Thursday","set_number":1,"class_Id":335}]} 
[2026-06-18 02:53:12] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-18 02:53:12] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-18 02:53:12] local.INFO: New strength record created {"workout_manager_id":217,"set_number":1} 
[2026-06-18 02:53:12] local.INFO: New strength record created {"workout_manager_id":217,"set_number":1} 
[2026-06-18 02:57:30] local.INFO: storestrengthdaily function called.  
[2026-06-18 02:57:30] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 02:57:30] local.INFO: storestrengthdaily function called.  
[2026-06-18 02:57:30] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":305,"reps":0,"weight":140,"date":"18/06/26 Thursday","set_number":2,"class_Id":335}]} 
[2026-06-18 02:57:30] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 02:57:30] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":310,"reps":6,"weight":0,"date":"18/06/26 Thursday","set_number":2,"class_Id":335}]} 
[2026-06-18 02:57:30] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-18 02:57:30] local.INFO: New strength record created {"workout_manager_id":217,"set_number":2} 
[2026-06-18 02:57:30] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-18 02:57:30] local.INFO: New strength record created {"workout_manager_id":217,"set_number":2} 
[2026-06-18 03:03:44] local.INFO: storestrengthdaily function called.  
[2026-06-18 03:03:44] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:03:44] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":311,"reps":6,"weight":0,"date":"18/06/26 Thursday","set_number":3,"class_Id":335}]} 
[2026-06-18 03:03:44] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-18 03:03:44] local.INFO: New strength record created {"workout_manager_id":217,"set_number":3} 
[2026-06-18 03:03:44] local.INFO: storestrengthdaily function called.  
[2026-06-18 03:03:44] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:03:44] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":306,"reps":5,"weight":150,"date":"18/06/26 Thursday","set_number":3,"class_Id":335}]} 
[2026-06-18 03:03:44] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-18 03:03:44] local.INFO: New strength record created {"workout_manager_id":217,"set_number":3} 
[2026-06-18 03:11:49] local.INFO: storestrengthdaily function called.  
[2026-06-18 03:11:49] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:11:49] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":307,"reps":5,"weight":160,"date":"18/06/26 Thursday","set_number":4,"class_Id":335}]} 
[2026-06-18 03:11:49] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-18 03:11:49] local.INFO: New strength record created {"workout_manager_id":217,"set_number":4} 
[2026-06-18 03:11:49] local.INFO: storestrengthdaily function called.  
[2026-06-18 03:11:49] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:11:49] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":312,"reps":6,"weight":0,"date":"18/06/26 Thursday","set_number":4,"class_Id":335}]} 
[2026-06-18 03:11:49] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-18 03:11:49] local.INFO: New strength record created {"workout_manager_id":217,"set_number":4} 
[2026-06-18 03:18:43] local.INFO: storestrengthdaily function called.  
[2026-06-18 03:18:43] local.INFO: storestrengthdaily function called.  
[2026-06-18 03:18:43] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:18:43] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:18:43] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":313,"reps":6,"weight":0,"date":"18/06/26 Thursday","set_number":5,"class_Id":335}]} 
[2026-06-18 03:18:43] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":308,"reps":5,"weight":170,"date":"18/06/26 Thursday","set_number":5,"class_Id":335}]} 
[2026-06-18 03:18:43] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-18 03:18:43] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-18 03:18:43] local.INFO: New strength record created {"workout_manager_id":217,"set_number":5} 
[2026-06-18 03:18:43] local.INFO: New strength record created {"workout_manager_id":217,"set_number":5} 
[2026-06-18 03:22:49] local.INFO: storestrengthdaily function called.  
[2026-06-18 03:22:49] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:22:49] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":304,"reps":5,"weight":130,"date":"18/06/26 Thursday","set_number":1,"class_Id":335},{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":305,"reps":5,"weight":140,"date":"18/06/26 Thursday","set_number":2,"class_Id":335},{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":306,"reps":5,"weight":150,"date":"18/06/26 Thursday","set_number":3,"class_Id":335},{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":307,"reps":5,"weight":160,"date":"18/06/26 Thursday","set_number":4,"class_Id":335},{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":308,"reps":5,"weight":170,"date":"18/06/26 Thursday","set_number":5,"class_Id":335},{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":309,"reps":6,"weight":0,"date":"18/06/26 Thursday","set_number":1,"class_Id":335},{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":310,"reps":6,"weight":0,"date":"18/06/26 Thursday","set_number":2,"class_Id":335},{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":311,"reps":6,"weight":0,"date":"18/06/26 Thursday","set_number":3,"class_Id":335},{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":312,"reps":6,"weight":0,"date":"18/06/26 Thursday","set_number":4,"class_Id":335},{"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":313,"reps":6,"weight":0,"date":"18/06/26 Thursday","set_number":5,"class_Id":335}]} 
[2026-06-18 03:22:49] local.INFO: Existing strength record: {"dailyStrength":{"id":123,"class_id":335,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":304,"type":"Primary","reps":5,"weight":"130","date":"18/06/26 Thursday","created_at":"2026-06-18T02:53:12.000000Z","updated_at":"2026-06-18T02:53:12.000000Z","set_number":1,"exercise_time":null,"notes":null}} 
[2026-06-18 03:22:49] local.INFO: Strength updated {"workout_manager_id":217,"set_number":1} 
[2026-06-18 03:22:49] local.INFO: Existing strength record: {"dailyStrength":{"id":124,"class_id":335,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":305,"type":"Primary","reps":0,"weight":"140","date":"18/06/26 Thursday","created_at":"2026-06-18T02:57:30.000000Z","updated_at":"2026-06-18T02:57:30.000000Z","set_number":2,"exercise_time":null,"notes":null}} 
[2026-06-18 03:22:49] local.INFO: Strength updated {"workout_manager_id":217,"set_number":2} 
[2026-06-18 03:22:49] local.INFO: Existing strength record: {"dailyStrength":{"id":127,"class_id":335,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":306,"type":"Primary","reps":5,"weight":"150","date":"18/06/26 Thursday","created_at":"2026-06-18T03:03:44.000000Z","updated_at":"2026-06-18T03:03:44.000000Z","set_number":3,"exercise_time":null,"notes":null}} 
[2026-06-18 03:22:49] local.INFO: Strength updated {"workout_manager_id":217,"set_number":3} 
[2026-06-18 03:22:49] local.INFO: Existing strength record: {"dailyStrength":{"id":128,"class_id":335,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":307,"type":"Primary","reps":5,"weight":"160","date":"18/06/26 Thursday","created_at":"2026-06-18T03:11:49.000000Z","updated_at":"2026-06-18T03:11:49.000000Z","set_number":4,"exercise_time":null,"notes":null}} 
[2026-06-18 03:22:49] local.INFO: Strength updated {"workout_manager_id":217,"set_number":4} 
[2026-06-18 03:22:49] local.INFO: Existing strength record: {"dailyStrength":{"id":131,"class_id":335,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":308,"type":"Primary","reps":5,"weight":"170","date":"18/06/26 Thursday","created_at":"2026-06-18T03:18:43.000000Z","updated_at":"2026-06-18T03:18:43.000000Z","set_number":5,"exercise_time":null,"notes":null}} 
[2026-06-18 03:22:49] local.INFO: Strength updated {"workout_manager_id":217,"set_number":5} 
[2026-06-18 03:22:49] local.INFO: Existing strength record: {"dailyStrength":{"id":122,"class_id":335,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":309,"type":"Primary","reps":6,"weight":"0","date":"18/06/26 Thursday","created_at":"2026-06-18T02:53:12.000000Z","updated_at":"2026-06-18T02:53:12.000000Z","set_number":1,"exercise_time":null,"notes":null}} 
[2026-06-18 03:22:49] local.INFO: Strength updated {"workout_manager_id":217,"set_number":1} 
[2026-06-18 03:22:49] local.INFO: Existing strength record: {"dailyStrength":{"id":125,"class_id":335,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":310,"type":"Primary","reps":6,"weight":"0","date":"18/06/26 Thursday","created_at":"2026-06-18T02:57:30.000000Z","updated_at":"2026-06-18T02:57:30.000000Z","set_number":2,"exercise_time":null,"notes":null}} 
[2026-06-18 03:22:49] local.INFO: Strength updated {"workout_manager_id":217,"set_number":2} 
[2026-06-18 03:22:49] local.INFO: Existing strength record: {"dailyStrength":{"id":126,"class_id":335,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":311,"type":"Primary","reps":6,"weight":"0","date":"18/06/26 Thursday","created_at":"2026-06-18T03:03:44.000000Z","updated_at":"2026-06-18T03:03:44.000000Z","set_number":3,"exercise_time":null,"notes":null}} 
[2026-06-18 03:22:49] local.INFO: Strength updated {"workout_manager_id":217,"set_number":3} 
[2026-06-18 03:22:49] local.INFO: Existing strength record: {"dailyStrength":{"id":129,"class_id":335,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":312,"type":"Primary","reps":6,"weight":"0","date":"18/06/26 Thursday","created_at":"2026-06-18T03:11:49.000000Z","updated_at":"2026-06-18T03:11:49.000000Z","set_number":4,"exercise_time":null,"notes":null}} 
[2026-06-18 03:22:49] local.INFO: Strength updated {"workout_manager_id":217,"set_number":4} 
[2026-06-18 03:22:49] local.INFO: Existing strength record: {"dailyStrength":{"id":130,"class_id":335,"round_number":null,"member_id":9,"strength_id":null,"workout_manager_id":217,"workout_format_type":"straight-sets","workout_format_id":313,"type":"Primary","reps":6,"weight":"0","date":"18/06/26 Thursday","created_at":"2026-06-18T03:18:43.000000Z","updated_at":"2026-06-18T03:18:43.000000Z","set_number":5,"exercise_time":null,"notes":null}} 
[2026-06-18 03:22:49] local.INFO: Strength updated {"workout_manager_id":217,"set_number":5} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,214,177,215,159],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,214,177,215,159]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[159,177,214,215,217],"types":["Weightlifting","Accessory","Conditioning","Warmup","Strength"],"formats":["pyramid","intervals","straight-sets","amrap"]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":32,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":32,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":32,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":33,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":33,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":33,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":34,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":34,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":35,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":35,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":36,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":36,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":37,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":37,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":38,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":38,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":38,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":75,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":75,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":4,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":75,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":76,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":77,"workout_libraries_id":23,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":78,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":78,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","reps":4,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":78,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":79,"workout_libraries_id":38,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":80,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":80,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":3,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":80,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":79,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":80,"workout_libraries_id":57,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":81,"workout_libraries_id":65,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":89,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":89,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T02:53:03.000000Z","updated_at":"2026-06-18T02:53:03.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":89,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":304,"workout_libraries_id":71,"straight_id":89,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T02:53:03.000000Z","updated_at":"2026-06-18T02:53:03.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":305,"workout_libraries_id":71,"straight_id":89,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T02:53:03.000000Z","updated_at":"2026-06-18T02:53:03.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":306,"workout_libraries_id":71,"straight_id":89,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T02:53:03.000000Z","updated_at":"2026-06-18T02:53:03.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":307,"workout_libraries_id":71,"straight_id":89,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T02:53:03.000000Z","updated_at":"2026-06-18T02:53:03.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":308,"workout_libraries_id":71,"straight_id":89,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T02:53:03.000000Z","updated_at":"2026-06-18T02:53:03.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":90,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":20,"rows_with_lib_id":20,"rows_matched":12,"rows_not_matched":8,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":5},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":5},"straights":{"seen":4,"matched":2,"not_matched":2,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":5},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":4}}} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 03:22:51] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"class_id":335,"round_entries":[]} 
[2026-06-18 03:22:51] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 03:22:51] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"class_id":335,"round_entries":[]} 
[2026-06-18 03:22:51] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 03:22:51] local.INFO: Retrieved round entries {"member_id":9,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"class_id":335,"round_entries":[]} 
[2026-06-18 03:22:51] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":7,"completed":0,"status":0} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":3,"completed":0,"status":0} 
[2026-06-18 03:22:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":10,"completed":10,"status":1} 
[2026-06-18 03:22:51] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:22:51] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:22:51] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:23:49] local.INFO: Tab value: all  
[2026-06-18 03:23:50] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row accessory  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row accessory  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row accessory  
[2026-06-18 03:23:50] local.INFO: Saved type row accessory  
[2026-06-18 03:23:50] local.INFO: Saved type row accessory  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row accessory  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row accessory  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row accessory  
[2026-06-18 03:23:50] local.INFO: Saved type row accessory  
[2026-06-18 03:23:50] local.INFO: Saved type row accessory  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row strength  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 03:23:50] local.INFO: Saved type row warmup  
[2026-06-18 03:24:22] local.INFO: assignWorkoutToClass:  {"workout_id":217,"class_id":335,"type":"workout_manager","action":"unassign","date":"18/06/26 Thursday"} 
[2026-06-18 03:24:22] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:24:22] local.INFO: Saved type row strength  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row warmup  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row accessory  
[2026-06-18 03:24:22] local.INFO: Saved type row strength  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row strength  
[2026-06-18 03:24:22] local.INFO: Saved type row accessory  
[2026-06-18 03:24:22] local.INFO: Saved type row strength  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row strength  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row warmup  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row warmup  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row strength  
[2026-06-18 03:24:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row accessory  
[2026-06-18 03:24:22] local.INFO: Saved type row accessory  
[2026-06-18 03:24:22] local.INFO: Saved type row accessory  
[2026-06-18 03:24:22] local.INFO: Saved type row warmup  
[2026-06-18 03:24:22] local.INFO: Saved type row warmup  
[2026-06-18 03:24:22] local.INFO: Saved type row warmup  
[2026-06-18 03:24:22] local.INFO: Saved type row warmup  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row strength  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:22] local.INFO: Saved type row warmup  
[2026-06-18 03:24:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:22] local.INFO: Saved type row warmup  
[2026-06-18 03:24:26] local.INFO: assignWorkoutToClass:  {"workout_id":217,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 03:24:27] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:24:27] local.INFO: Saved type row strength  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row warmup  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row accessory  
[2026-06-18 03:24:27] local.INFO: Saved type row strength  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row strength  
[2026-06-18 03:24:27] local.INFO: Saved type row accessory  
[2026-06-18 03:24:27] local.INFO: Saved type row strength  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row strength  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row warmup  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row warmup  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row strength  
[2026-06-18 03:24:27] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:27] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:27] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:27] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row accessory  
[2026-06-18 03:24:27] local.INFO: Saved type row accessory  
[2026-06-18 03:24:27] local.INFO: Saved type row accessory  
[2026-06-18 03:24:27] local.INFO: Saved type row warmup  
[2026-06-18 03:24:27] local.INFO: Saved type row warmup  
[2026-06-18 03:24:27] local.INFO: Saved type row warmup  
[2026-06-18 03:24:27] local.INFO: Saved type row warmup  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row strength  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:27] local.INFO: Saved type row warmup  
[2026-06-18 03:24:27] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:27] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:27] local.INFO: Saved type row warmup  
[2026-06-18 03:24:51] local.INFO: assignWorkoutToClass:  {"workout_id":215,"class_id":335,"type":"workout_manager","action":"unassign","date":"18/06/26 Thursday"} 
[2026-06-18 03:24:51] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:24:51] local.INFO: Saved type row strength  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row warmup  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row accessory  
[2026-06-18 03:24:51] local.INFO: Saved type row strength  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row strength  
[2026-06-18 03:24:51] local.INFO: Saved type row accessory  
[2026-06-18 03:24:51] local.INFO: Saved type row strength  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row strength  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row warmup  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row warmup  
[2026-06-18 03:24:51] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:51] local.INFO: Saved type row strength  
[2026-06-18 03:24:51] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:51] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:52] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:52] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:52] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:52] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:52] local.INFO: Saved type row accessory  
[2026-06-18 03:24:52] local.INFO: Saved type row accessory  
[2026-06-18 03:24:52] local.INFO: Saved type row accessory  
[2026-06-18 03:24:52] local.INFO: Saved type row warmup  
[2026-06-18 03:24:52] local.INFO: Saved type row warmup  
[2026-06-18 03:24:52] local.INFO: Saved type row warmup  
[2026-06-18 03:24:52] local.INFO: Saved type row warmup  
[2026-06-18 03:24:52] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:52] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:52] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:52] local.INFO: Saved type row strength  
[2026-06-18 03:24:52] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:52] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:52] local.INFO: Saved type row conditioning  
[2026-06-18 03:24:52] local.INFO: Saved type row warmup  
[2026-06-18 03:24:52] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:52] local.INFO: Saved type row weightlifting  
[2026-06-18 03:24:52] local.INFO: Saved type row warmup  
[2026-06-18 03:25:07] local.INFO: Tab value: all  
[2026-06-18 03:25:07] local.INFO: Saved type row warmup  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row warmup  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row accessory  
[2026-06-18 03:25:07] local.INFO: Saved type row strength  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row strength  
[2026-06-18 03:25:07] local.INFO: Saved type row accessory  
[2026-06-18 03:25:07] local.INFO: Saved type row strength  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row strength  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row warmup  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row warmup  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row strength  
[2026-06-18 03:25:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row accessory  
[2026-06-18 03:25:07] local.INFO: Saved type row accessory  
[2026-06-18 03:25:07] local.INFO: Saved type row accessory  
[2026-06-18 03:25:07] local.INFO: Saved type row warmup  
[2026-06-18 03:25:07] local.INFO: Saved type row warmup  
[2026-06-18 03:25:07] local.INFO: Saved type row warmup  
[2026-06-18 03:25:07] local.INFO: Saved type row warmup  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row strength  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:07] local.INFO: Saved type row warmup  
[2026-06-18 03:25:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:07] local.INFO: Saved type row warmup  
[2026-06-18 03:25:07] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:25:08] local.INFO: Saved type row warmup  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row warmup  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row accessory  
[2026-06-18 03:25:08] local.INFO: Saved type row strength  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row strength  
[2026-06-18 03:25:08] local.INFO: Saved type row accessory  
[2026-06-18 03:25:08] local.INFO: Saved type row strength  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row strength  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row warmup  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row warmup  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row strength  
[2026-06-18 03:25:08] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:08] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:08] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:08] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row accessory  
[2026-06-18 03:25:08] local.INFO: Saved type row accessory  
[2026-06-18 03:25:08] local.INFO: Saved type row accessory  
[2026-06-18 03:25:08] local.INFO: Saved type row warmup  
[2026-06-18 03:25:08] local.INFO: Saved type row warmup  
[2026-06-18 03:25:08] local.INFO: Saved type row warmup  
[2026-06-18 03:25:08] local.INFO: Saved type row warmup  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row strength  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:08] local.INFO: Saved type row warmup  
[2026-06-18 03:25:08] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:08] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:08] local.INFO: Saved type row warmup  
[2026-06-18 03:25:25] local.INFO: Tab value: all  
[2026-06-18 03:25:25] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row accessory  
[2026-06-18 03:25:26] local.INFO: Saved type row strength  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row strength  
[2026-06-18 03:25:26] local.INFO: Saved type row accessory  
[2026-06-18 03:25:26] local.INFO: Saved type row strength  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row strength  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row strength  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row accessory  
[2026-06-18 03:25:26] local.INFO: Saved type row accessory  
[2026-06-18 03:25:26] local.INFO: Saved type row accessory  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row strength  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row accessory  
[2026-06-18 03:25:26] local.INFO: Saved type row strength  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row strength  
[2026-06-18 03:25:26] local.INFO: Saved type row accessory  
[2026-06-18 03:25:26] local.INFO: Saved type row strength  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row strength  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row strength  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row accessory  
[2026-06-18 03:25:26] local.INFO: Saved type row accessory  
[2026-06-18 03:25:26] local.INFO: Saved type row accessory  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row strength  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:26] local.INFO: Saved type row warmup  
[2026-06-18 03:25:30] local.INFO: assignWorkoutToClass:  {"workout_id":217,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 03:25:31] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:25:31] local.INFO: Saved type row warmup  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row warmup  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row accessory  
[2026-06-18 03:25:31] local.INFO: Saved type row strength  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row strength  
[2026-06-18 03:25:31] local.INFO: Saved type row accessory  
[2026-06-18 03:25:31] local.INFO: Saved type row strength  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row strength  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row warmup  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row warmup  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row strength  
[2026-06-18 03:25:31] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:31] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:31] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:31] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row accessory  
[2026-06-18 03:25:31] local.INFO: Saved type row accessory  
[2026-06-18 03:25:31] local.INFO: Saved type row accessory  
[2026-06-18 03:25:31] local.INFO: Saved type row warmup  
[2026-06-18 03:25:31] local.INFO: Saved type row warmup  
[2026-06-18 03:25:31] local.INFO: Saved type row warmup  
[2026-06-18 03:25:31] local.INFO: Saved type row warmup  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row strength  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row conditioning  
[2026-06-18 03:25:31] local.INFO: Saved type row warmup  
[2026-06-18 03:25:31] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:31] local.INFO: Saved type row weightlifting  
[2026-06-18 03:25:31] local.INFO: Saved type row warmup  
[2026-06-18 03:25:36] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,214,177,159],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,214,177,159]} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[159,177,214,217],"types":["Weightlifting","Accessory","Conditioning","Warmup"],"formats":["pyramid","intervals","straight-sets"]} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":32,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":32,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":32,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":33,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":33,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":33,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":34,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":34,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":35,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":35,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":36,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":36,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":37,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":37,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":38,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":38,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":38,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":75,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":75,"stationumber":1,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":4,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":75,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":76,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":77,"workout_libraries_id":23,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":78,"workout_libraries_id":32,"attached_test_id":94,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":78,"stationumber":2,"workout_manager_id":177,"workout_libraries_id":32,"training_load":68,"unit_type":"%","reps":4,"gender":null,"work":"00:00:45","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":60.0,"test_unit_type":"kg","test_id":94,"test_created_at":"2026-06-15 02:37:29","format_row_id":78,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":177,"relation":"intervals","format_row_id":79,"workout_libraries_id":38,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":177,"relation":"intervals","format_row_id":80,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":80,"stationumber":3,"workout_manager_id":177,"workout_libraries_id":17,"training_load":100,"unit_type":"%","reps":3,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T02:05:17.000000Z","updated_at":"2026-06-18T02:05:17.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":80,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":17,"rows_with_lib_id":17,"rows_matched":12,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":3,"not_matched":3,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":4,"matched":2,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":3}}} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":7,"completed":0,"status":0} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":6,"completed":0,"status":0} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 03:25:36] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 03:25:36] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:25:36] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:25:36] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:32:04] local.INFO: Tab value: all  
[2026-06-18 03:32:04] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:32:04] local.INFO: Saved type row accessory  
[2026-06-18 03:32:04] local.INFO: Saved type row warmup  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row warmup  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row accessory  
[2026-06-18 03:32:04] local.INFO: Saved type row strength  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row strength  
[2026-06-18 03:32:04] local.INFO: Saved type row accessory  
[2026-06-18 03:32:04] local.INFO: Saved type row strength  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row strength  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row warmup  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row warmup  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row strength  
[2026-06-18 03:32:04] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:04] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:04] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:04] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row accessory  
[2026-06-18 03:32:04] local.INFO: Saved type row accessory  
[2026-06-18 03:32:04] local.INFO: Saved type row accessory  
[2026-06-18 03:32:04] local.INFO: Saved type row warmup  
[2026-06-18 03:32:04] local.INFO: Saved type row warmup  
[2026-06-18 03:32:04] local.INFO: Saved type row warmup  
[2026-06-18 03:32:04] local.INFO: Saved type row warmup  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row strength  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:04] local.INFO: Saved type row warmup  
[2026-06-18 03:32:04] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:04] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:04] local.INFO: Saved type row warmup  
[2026-06-18 03:32:05] local.INFO: Saved type row accessory  
[2026-06-18 03:32:05] local.INFO: Saved type row warmup  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row warmup  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row accessory  
[2026-06-18 03:32:05] local.INFO: Saved type row strength  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row strength  
[2026-06-18 03:32:05] local.INFO: Saved type row accessory  
[2026-06-18 03:32:05] local.INFO: Saved type row strength  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row strength  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row warmup  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row warmup  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row strength  
[2026-06-18 03:32:05] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:05] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:05] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:05] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row accessory  
[2026-06-18 03:32:05] local.INFO: Saved type row accessory  
[2026-06-18 03:32:05] local.INFO: Saved type row accessory  
[2026-06-18 03:32:05] local.INFO: Saved type row warmup  
[2026-06-18 03:32:05] local.INFO: Saved type row warmup  
[2026-06-18 03:32:05] local.INFO: Saved type row warmup  
[2026-06-18 03:32:05] local.INFO: Saved type row warmup  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row strength  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:05] local.INFO: Saved type row warmup  
[2026-06-18 03:32:05] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:05] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:05] local.INFO: Saved type row warmup  
[2026-06-18 03:32:21] local.INFO: assignWorkoutToClass:  {"workout_id":177,"class_id":335,"type":"workout_manager","action":"unassign","date":"18/06/26 Thursday"} 
[2026-06-18 03:32:21] local.INFO: Saved type row accessory  
[2026-06-18 03:32:21] local.INFO: Saved type row warmup  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row warmup  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row accessory  
[2026-06-18 03:32:21] local.INFO: Saved type row strength  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row strength  
[2026-06-18 03:32:21] local.INFO: Saved type row accessory  
[2026-06-18 03:32:21] local.INFO: Saved type row strength  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row strength  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row warmup  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row warmup  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row strength  
[2026-06-18 03:32:21] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:21] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:21] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:21] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row accessory  
[2026-06-18 03:32:21] local.INFO: Saved type row accessory  
[2026-06-18 03:32:21] local.INFO: Saved type row accessory  
[2026-06-18 03:32:21] local.INFO: Saved type row warmup  
[2026-06-18 03:32:21] local.INFO: Saved type row warmup  
[2026-06-18 03:32:21] local.INFO: Saved type row warmup  
[2026-06-18 03:32:21] local.INFO: Saved type row warmup  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row strength  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:21] local.INFO: Saved type row warmup  
[2026-06-18 03:32:21] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:21] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:21] local.INFO: Saved type row warmup  
[2026-06-18 03:32:22] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:32:28] local.INFO: assignWorkoutToClass:  {"workout_id":218,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 03:32:28] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:32:28] local.INFO: Saved type row accessory  
[2026-06-18 03:32:28] local.INFO: Saved type row warmup  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row warmup  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row accessory  
[2026-06-18 03:32:28] local.INFO: Saved type row strength  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row strength  
[2026-06-18 03:32:28] local.INFO: Saved type row accessory  
[2026-06-18 03:32:28] local.INFO: Saved type row strength  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row strength  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row warmup  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row warmup  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row strength  
[2026-06-18 03:32:28] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:28] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:28] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:28] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row accessory  
[2026-06-18 03:32:28] local.INFO: Saved type row accessory  
[2026-06-18 03:32:28] local.INFO: Saved type row accessory  
[2026-06-18 03:32:28] local.INFO: Saved type row warmup  
[2026-06-18 03:32:28] local.INFO: Saved type row warmup  
[2026-06-18 03:32:28] local.INFO: Saved type row warmup  
[2026-06-18 03:32:28] local.INFO: Saved type row warmup  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row strength  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row conditioning  
[2026-06-18 03:32:28] local.INFO: Saved type row warmup  
[2026-06-18 03:32:28] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:28] local.INFO: Saved type row weightlifting  
[2026-06-18 03:32:28] local.INFO: Saved type row warmup  
[2026-06-18 03:32:40] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,214,218,159],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,214,218,159]} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[159,214,217,218],"types":["Weightlifting","Conditioning","Warmup","Accessory"],"formats":["pyramid","straight-sets","rounds"]} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":32,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":32,"workout_manager_id":159,"workout_libraries_id":118,"training_load":60,"unit_type":"%","gender":null,"reps":10,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":32,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":33,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":33,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":8,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":33,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":34,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":34,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":34,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":35,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":35,"workout_manager_id":159,"workout_libraries_id":118,"training_load":85,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":35,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":36,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":36,"workout_manager_id":159,"workout_libraries_id":118,"training_load":90,"unit_type":"%","gender":null,"reps":2,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":36,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":37,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":37,"workout_manager_id":159,"workout_libraries_id":118,"training_load":80,"unit_type":"%","gender":null,"reps":4,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":37,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":159,"relation":"pyramids","format_row_id":38,"workout_libraries_id":118,"attached_test_id":102,"attached_test_weight":110.0,"attached_unit_type":"kg","row_data":{"id":38,"workout_manager_id":159,"workout_libraries_id":118,"training_load":70,"unit_type":"%","gender":null,"reps":6,"created_at":"2026-06-18T02:03:45.000000Z","updated_at":"2026-06-18T02:03:45.000000Z","restred":"00:03:00","restyellow":"00:02:00","restgreen":"00:01:00","test_weight":110.0,"test_unit_type":"kg","test_id":102,"test_created_at":"2026-06-17 01:12:41","format_row_id":38,"format_relation":"pyramids","format_table":"pyramids","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":15,"rows_with_lib_id":15,"rows_matched":10,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":4,"matched":2,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":7,"matched":7,"not_matched":0,"empty":3}}} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":7,"completed":0,"status":0} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 03:32:40] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":0,"status":0} 
[2026-06-18 03:32:40] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:32:40] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:32:40] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:38:08] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:38:08] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":120,"reps":5,"set_number":1,"round_number":"1/3","weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:38:08] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-06-18 03:38:08] local.INFO: New accessory record created {"workout_manager_id":218,"set_number":1} 
[2026-06-18 03:38:08] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:38:08] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":121,"reps":6,"set_number":1,"round_number":"1/3","weight":35,"exercise_time":"00:00","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:38:08] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-06-18 03:38:08] local.INFO: New accessory record created {"workout_manager_id":218,"set_number":1} 
[2026-06-18 03:38:09] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:38:09] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":122,"reps":8,"set_number":1,"round_number":"1/3","weight":50,"exercise_time":"00:00","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:38:09] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-06-18 03:38:09] local.INFO: New accessory record created {"workout_manager_id":218,"set_number":1} 
[2026-06-18 03:38:09] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:38:09] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":123,"reps":8,"set_number":1,"round_number":"1/3","weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:38:09] local.INFO: Existing accessory record: {"dailyAccessory":null} 
[2026-06-18 03:38:09] local.INFO: New accessory record created {"workout_manager_id":218,"set_number":1} 
[2026-06-18 03:41:56] local.INFO: Tab value: all  
[2026-06-18 03:42:14] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:42:14] local.INFO: Saved type row accessory  
[2026-06-18 03:42:14] local.INFO: Saved type row warmup  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row warmup  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row accessory  
[2026-06-18 03:42:14] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row strength  
[2026-06-18 03:42:14] local.INFO: Saved type row accessory  
[2026-06-18 03:42:14] local.INFO: Saved type row strength  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row strength  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row warmup  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row warmup  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row strength  
[2026-06-18 03:42:14] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:14] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:14] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:14] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row accessory  
[2026-06-18 03:42:14] local.INFO: Saved type row accessory  
[2026-06-18 03:42:14] local.INFO: Saved type row accessory  
[2026-06-18 03:42:14] local.INFO: Saved type row warmup  
[2026-06-18 03:42:14] local.INFO: Saved type row warmup  
[2026-06-18 03:42:14] local.INFO: Saved type row warmup  
[2026-06-18 03:42:14] local.INFO: Saved type row warmup  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row strength  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:14] local.INFO: Saved type row warmup  
[2026-06-18 03:42:14] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:14] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:14] local.INFO: Saved type row warmup  
[2026-06-18 03:42:21] local.INFO: assignWorkoutToClass:  {"workout_id":176,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 03:42:22] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:42:22] local.INFO: Saved type row accessory  
[2026-06-18 03:42:22] local.INFO: Saved type row warmup  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row warmup  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row accessory  
[2026-06-18 03:42:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row strength  
[2026-06-18 03:42:22] local.INFO: Saved type row accessory  
[2026-06-18 03:42:22] local.INFO: Saved type row strength  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row strength  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row warmup  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row warmup  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row strength  
[2026-06-18 03:42:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row accessory  
[2026-06-18 03:42:22] local.INFO: Saved type row accessory  
[2026-06-18 03:42:22] local.INFO: Saved type row accessory  
[2026-06-18 03:42:22] local.INFO: Saved type row warmup  
[2026-06-18 03:42:22] local.INFO: Saved type row warmup  
[2026-06-18 03:42:22] local.INFO: Saved type row warmup  
[2026-06-18 03:42:22] local.INFO: Saved type row warmup  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row strength  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:22] local.INFO: Saved type row warmup  
[2026-06-18 03:42:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:22] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:22] local.INFO: Saved type row warmup  
[2026-06-18 03:42:30] local.INFO: assignWorkoutToClass:  {"workout_id":159,"class_id":335,"type":"workout_manager","action":"unassign","date":"18/06/26 Thursday"} 
[2026-06-18 03:42:30] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:42:30] local.INFO: Saved type row accessory  
[2026-06-18 03:42:30] local.INFO: Saved type row warmup  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row warmup  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row accessory  
[2026-06-18 03:42:30] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row strength  
[2026-06-18 03:42:30] local.INFO: Saved type row accessory  
[2026-06-18 03:42:30] local.INFO: Saved type row strength  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row strength  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row warmup  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row warmup  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row strength  
[2026-06-18 03:42:30] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:30] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:30] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:30] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row accessory  
[2026-06-18 03:42:30] local.INFO: Saved type row accessory  
[2026-06-18 03:42:30] local.INFO: Saved type row accessory  
[2026-06-18 03:42:30] local.INFO: Saved type row warmup  
[2026-06-18 03:42:30] local.INFO: Saved type row warmup  
[2026-06-18 03:42:30] local.INFO: Saved type row warmup  
[2026-06-18 03:42:30] local.INFO: Saved type row warmup  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row strength  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row conditioning  
[2026-06-18 03:42:30] local.INFO: Saved type row warmup  
[2026-06-18 03:42:30] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:30] local.INFO: Saved type row weightlifting  
[2026-06-18 03:42:30] local.INFO: Saved type row warmup  
[2026-06-18 03:46:20] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:46:20] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":120,"reps":5,"set_number":2,"round_number":"2/3","weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:46:20] local.INFO: Existing accessory record: {"dailyAccessory":{"id":23,"class_id":335,"round_number":"1/3","member_id":9,"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":120,"set_number":1,"reps":5,"weight":null,"date":"18/06/26 Thursday","created_at":"2026-06-18T03:38:08.000000Z","updated_at":"2026-06-18T03:38:08.000000Z","exercise_time":"00:00","notes":null}} 
[2026-06-18 03:46:20] local.INFO: Accessory updated {"workout_manager_id":218,"set_number":2} 
[2026-06-18 03:46:20] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:46:20] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":121,"reps":6,"set_number":2,"round_number":"2/3","weight":35,"exercise_time":"00:00","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:46:20] local.INFO: Existing accessory record: {"dailyAccessory":{"id":24,"class_id":335,"round_number":"1/3","member_id":9,"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":121,"set_number":1,"reps":6,"weight":"35","date":"18/06/26 Thursday","created_at":"2026-06-18T03:38:08.000000Z","updated_at":"2026-06-18T03:38:08.000000Z","exercise_time":"00:00","notes":null}} 
[2026-06-18 03:46:20] local.INFO: Accessory updated {"workout_manager_id":218,"set_number":2} 
[2026-06-18 03:46:21] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:46:21] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":122,"reps":8,"set_number":2,"round_number":"2/3","weight":50,"exercise_time":"00:00","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:46:21] local.INFO: Existing accessory record: {"dailyAccessory":{"id":25,"class_id":335,"round_number":"1/3","member_id":9,"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":122,"set_number":1,"reps":8,"weight":"50","date":"18/06/26 Thursday","created_at":"2026-06-18T03:38:09.000000Z","updated_at":"2026-06-18T03:38:09.000000Z","exercise_time":"00:00","notes":null}} 
[2026-06-18 03:46:21] local.INFO: Accessory updated {"workout_manager_id":218,"set_number":2} 
[2026-06-18 03:46:21] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:46:21] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":123,"reps":8,"set_number":2,"round_number":"2/3","weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:46:21] local.INFO: Existing accessory record: {"dailyAccessory":{"id":26,"class_id":335,"round_number":"1/3","member_id":9,"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":123,"set_number":1,"reps":8,"weight":null,"date":"18/06/26 Thursday","created_at":"2026-06-18T03:38:09.000000Z","updated_at":"2026-06-18T03:38:09.000000Z","exercise_time":"00:00","notes":null}} 
[2026-06-18 03:46:21] local.INFO: Accessory updated {"workout_manager_id":218,"set_number":2} 
[2026-06-18 03:46:54] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:46:54] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":120,"reps":5,"set_number":3,"round_number":"3/3","weight":null,"exercise_time":"00:00","notes":"Was running late.","status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:46:54] local.INFO: Existing accessory record: {"dailyAccessory":{"id":23,"class_id":335,"round_number":"2/3","member_id":9,"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":120,"set_number":1,"reps":5,"weight":null,"date":"18/06/26 Thursday","created_at":"2026-06-18T03:38:08.000000Z","updated_at":"2026-06-18T03:46:20.000000Z","exercise_time":"00:00","notes":null}} 
[2026-06-18 03:46:54] local.INFO: Accessory updated {"workout_manager_id":218,"set_number":3} 
[2026-06-18 03:46:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:46:55] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":121,"reps":6,"set_number":3,"round_number":"3/3","weight":35,"exercise_time":"00:00","notes":"Was running late.","status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:46:55] local.INFO: Existing accessory record: {"dailyAccessory":{"id":24,"class_id":335,"round_number":"2/3","member_id":9,"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":121,"set_number":1,"reps":6,"weight":"35","date":"18/06/26 Thursday","created_at":"2026-06-18T03:38:08.000000Z","updated_at":"2026-06-18T03:46:20.000000Z","exercise_time":"00:00","notes":null}} 
[2026-06-18 03:46:55] local.INFO: Accessory updated {"workout_manager_id":218,"set_number":3} 
[2026-06-18 03:46:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:46:55] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":122,"reps":8,"set_number":3,"round_number":"3/3","weight":50,"exercise_time":"00:00","notes":"Was running late.","status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:46:55] local.INFO: Existing accessory record: {"dailyAccessory":{"id":25,"class_id":335,"round_number":"2/3","member_id":9,"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":122,"set_number":1,"reps":8,"weight":"50","date":"18/06/26 Thursday","created_at":"2026-06-18T03:38:09.000000Z","updated_at":"2026-06-18T03:46:21.000000Z","exercise_time":"00:00","notes":null}} 
[2026-06-18 03:46:55] local.INFO: Accessory updated {"workout_manager_id":218,"set_number":3} 
[2026-06-18 03:46:55] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:46:55] local.INFO: Received accessory payload: {"accessoryItems":[{"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":123,"reps":8,"set_number":3,"round_number":"3/3","weight":null,"exercise_time":"00:00","notes":"Was running late.","status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:46:55] local.INFO: Existing accessory record: {"dailyAccessory":{"id":26,"class_id":335,"round_number":"2/3","member_id":9,"workout_manager_id":218,"workout_format_type":"rounds","workout_format_id":123,"set_number":1,"reps":8,"weight":null,"date":"18/06/26 Thursday","created_at":"2026-06-18T03:38:09.000000Z","updated_at":"2026-06-18T03:46:21.000000Z","exercise_time":"00:00","notes":null}} 
[2026-06-18 03:46:55] local.INFO: Accessory updated {"workout_manager_id":218,"set_number":3} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,214,218,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,214,218,176]} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[176,214,217,218],"types":["Weightlifting","Conditioning","Warmup","Accessory"],"formats":["emom","straight-sets","rounds"]} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":101,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":101,"test_created_at":"2026-06-17 01:10:52","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":9,"rows_with_lib_id":9,"rows_matched":3,"rows_not_matched":6,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":4,"matched":2,"not_matched":2,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 03:46:56] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 03:46:56] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:46:56] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:46:56] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:48:27] local.INFO: Tab value: all  
[2026-06-18 03:48:34] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:48:34] local.INFO: Saved type row accessory  
[2026-06-18 03:48:34] local.INFO: Saved type row warmup  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row warmup  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row accessory  
[2026-06-18 03:48:34] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row strength  
[2026-06-18 03:48:34] local.INFO: Saved type row accessory  
[2026-06-18 03:48:34] local.INFO: Saved type row strength  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row strength  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row warmup  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row warmup  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row strength  
[2026-06-18 03:48:34] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:34] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:34] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:34] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row accessory  
[2026-06-18 03:48:34] local.INFO: Saved type row accessory  
[2026-06-18 03:48:34] local.INFO: Saved type row accessory  
[2026-06-18 03:48:34] local.INFO: Saved type row warmup  
[2026-06-18 03:48:34] local.INFO: Saved type row warmup  
[2026-06-18 03:48:34] local.INFO: Saved type row warmup  
[2026-06-18 03:48:34] local.INFO: Saved type row warmup  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row strength  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:34] local.INFO: Saved type row warmup  
[2026-06-18 03:48:34] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:34] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:34] local.INFO: Saved type row warmup  
[2026-06-18 03:48:47] local.INFO: assignWorkoutToClass:  {"workout_id":214,"class_id":335,"type":"workout_manager","action":"unassign","date":"18/06/26 Thursday"} 
[2026-06-18 03:48:48] local.INFO: Saved type row accessory  
[2026-06-18 03:48:48] local.INFO: Saved type row warmup  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row warmup  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row accessory  
[2026-06-18 03:48:48] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row strength  
[2026-06-18 03:48:48] local.INFO: Saved type row accessory  
[2026-06-18 03:48:48] local.INFO: Saved type row strength  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row strength  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row warmup  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row warmup  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row strength  
[2026-06-18 03:48:48] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:48] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:48] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:48] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row accessory  
[2026-06-18 03:48:48] local.INFO: Saved type row accessory  
[2026-06-18 03:48:48] local.INFO: Saved type row accessory  
[2026-06-18 03:48:48] local.INFO: Saved type row warmup  
[2026-06-18 03:48:48] local.INFO: Saved type row warmup  
[2026-06-18 03:48:48] local.INFO: Saved type row warmup  
[2026-06-18 03:48:48] local.INFO: Saved type row warmup  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row strength  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row conditioning  
[2026-06-18 03:48:48] local.INFO: Saved type row warmup  
[2026-06-18 03:48:48] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:48] local.INFO: Saved type row weightlifting  
[2026-06-18 03:48:48] local.INFO: Saved type row warmup  
[2026-06-18 03:48:48] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:49:03] local.INFO: assignWorkoutToClass:  {"workout_id":158,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 03:49:03] local.INFO: Saved type row accessory  
[2026-06-18 03:49:03] local.INFO: Saved type row warmup  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row warmup  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row accessory  
[2026-06-18 03:49:03] local.INFO: Saved type row weightlifting  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row weightlifting  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row strength  
[2026-06-18 03:49:03] local.INFO: Saved type row accessory  
[2026-06-18 03:49:03] local.INFO: Saved type row strength  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row strength  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row warmup  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row warmup  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row strength  
[2026-06-18 03:49:03] local.INFO: Saved type row weightlifting  
[2026-06-18 03:49:03] local.INFO: Saved type row weightlifting  
[2026-06-18 03:49:03] local.INFO: Saved type row weightlifting  
[2026-06-18 03:49:03] local.INFO: Saved type row weightlifting  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row accessory  
[2026-06-18 03:49:03] local.INFO: Saved type row accessory  
[2026-06-18 03:49:03] local.INFO: Saved type row accessory  
[2026-06-18 03:49:03] local.INFO: Saved type row warmup  
[2026-06-18 03:49:03] local.INFO: Saved type row warmup  
[2026-06-18 03:49:03] local.INFO: Saved type row warmup  
[2026-06-18 03:49:03] local.INFO: Saved type row warmup  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row strength  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row conditioning  
[2026-06-18 03:49:03] local.INFO: Saved type row warmup  
[2026-06-18 03:49:03] local.INFO: Saved type row weightlifting  
[2026-06-18 03:49:03] local.INFO: Saved type row weightlifting  
[2026-06-18 03:49:03] local.INFO: Saved type row warmup  
[2026-06-18 03:49:35] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,176]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[158,176,217,218],"types":["Conditioning","Weightlifting","Warmup","Accessory"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":81,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":82,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":83,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":84,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":85,"workout_libraries_id":70,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":86,"workout_libraries_id":110,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":2,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":0,"not_matched":6,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":0,"status":0} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 03:49:35] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 03:49:35] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:49:35] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:49:35] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,176]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[158,176,217,218],"types":["Conditioning","Weightlifting","Warmup","Accessory"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":81,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":82,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":83,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":84,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":85,"workout_libraries_id":70,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":86,"workout_libraries_id":110,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":2,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":0,"not_matched":6,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":0,"status":0} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 03:49:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 03:49:52] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:49:52] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:49:52] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:50:59] local.INFO: Tab value: all  
[2026-06-18 03:51:06] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:51:07] local.INFO: Saved type row accessory  
[2026-06-18 03:51:07] local.INFO: Saved type row warmup  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row warmup  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row accessory  
[2026-06-18 03:51:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row strength  
[2026-06-18 03:51:07] local.INFO: Saved type row accessory  
[2026-06-18 03:51:07] local.INFO: Saved type row strength  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row strength  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row warmup  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row warmup  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row strength  
[2026-06-18 03:51:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:51:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:51:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:51:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row accessory  
[2026-06-18 03:51:07] local.INFO: Saved type row accessory  
[2026-06-18 03:51:07] local.INFO: Saved type row accessory  
[2026-06-18 03:51:07] local.INFO: Saved type row warmup  
[2026-06-18 03:51:07] local.INFO: Saved type row warmup  
[2026-06-18 03:51:07] local.INFO: Saved type row warmup  
[2026-06-18 03:51:07] local.INFO: Saved type row warmup  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row strength  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row conditioning  
[2026-06-18 03:51:07] local.INFO: Saved type row warmup  
[2026-06-18 03:51:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:51:07] local.INFO: Saved type row weightlifting  
[2026-06-18 03:51:07] local.INFO: Saved type row warmup  
[2026-06-18 03:51:17] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 03:51:17] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 03:51:17] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:51:17] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":176,"workout_format_type":"emom","workout_format_id":46,"reps":0,"set_number":1,"round_number":"1/5","weight":20,"exercise_time":"01:00","notes":null,"status":"incompleted","date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:51:17] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-06-18 03:51:17] local.INFO: New weightlifting record created {"workout_manager_id":176,"set_number":1} 
[2026-06-18 03:52:09] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 03:52:09] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 03:52:09] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:52:09] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":176,"workout_format_type":"emom","workout_format_id":46,"reps":5,"weight":20,"date":"18/06/26 Thursday","exercise_time":"00:00","notes":"Testing","set_number":1,"round_number":"5/5","class_Id":335}]} 
[2026-06-18 03:52:09] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":62,"class_id":335,"round_number":"1/5","member_id":9,"weightlifting_id":null,"workout_manager_id":176,"workout_format_type":"emom","workout_format_id":46,"set_number":1,"reps":0,"weight":"20","date":"18/06/26 Thursday","created_at":"2026-06-18T03:51:17.000000Z","updated_at":"2026-06-18T03:51:17.000000Z","exercise_time":"01:00","notes":null}} 
[2026-06-18 03:52:09] local.INFO: Weightlifting updated {"workout_manager_id":176,"set_number":1} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,176]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[158,176,217,218],"types":["Conditioning","Weightlifting","Warmup","Accessory"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":87,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":88,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":89,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":90,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":91,"workout_libraries_id":70,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":92,"workout_libraries_id":110,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":2,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":0,"not_matched":6,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":176,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"5/5","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":0,"status":0} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 03:52:09] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 03:52:09] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:52:09] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:52:09] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:52:09] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 03:52:09] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 03:52:09] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:52:09] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":176,"workout_format_type":"emom","workout_format_id":46,"reps":5,"weight":20,"date":"18/06/26 Thursday","exercise_time":"00:00","notes":"Testing","set_number":1,"round_number":"5/5","class_Id":335}]} 
[2026-06-18 03:52:09] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":62,"class_id":335,"round_number":"5/5","member_id":9,"weightlifting_id":null,"workout_manager_id":176,"workout_format_type":"emom","workout_format_id":46,"set_number":1,"reps":5,"weight":"20","date":"18/06/26 Thursday","created_at":"2026-06-18T03:51:17.000000Z","updated_at":"2026-06-18T03:52:09.000000Z","exercise_time":"00:00","notes":"Testing"}} 
[2026-06-18 03:52:09] local.INFO: Weightlifting updated {"workout_manager_id":176,"set_number":1} 
[2026-06-18 03:52:10] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 03:52:10] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 03:52:10] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:52:10] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":176,"workout_format_type":"emom","workout_format_id":46,"reps":5,"weight":20,"date":"18/06/26 Thursday","exercise_time":"00:00","notes":"Testing","set_number":1,"round_number":"5/5","class_Id":335}]} 
[2026-06-18 03:52:10] local.INFO: Existing weightlifting record: {"dailyWeightlifting":{"id":62,"class_id":335,"round_number":"5/5","member_id":9,"weightlifting_id":null,"workout_manager_id":176,"workout_format_type":"emom","workout_format_id":46,"set_number":1,"reps":5,"weight":"20","date":"18/06/26 Thursday","created_at":"2026-06-18T03:51:17.000000Z","updated_at":"2026-06-18T03:52:09.000000Z","exercise_time":"00:00","notes":"Testing"}} 
[2026-06-18 03:52:10] local.INFO: Weightlifting updated {"workout_manager_id":176,"set_number":1} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,176]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[158,176,217,218],"types":["Conditioning","Weightlifting","Warmup","Accessory"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":87,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":88,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":89,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":90,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":91,"workout_libraries_id":70,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":92,"workout_libraries_id":110,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":2,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":0,"not_matched":6,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":176,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"5/5","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":0,"status":0} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 03:52:10] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":23,"library_ids":[118,17,77,42,27,32,56,71],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,176]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[158,176,217,218],"types":["Conditioning","Weightlifting","Warmup","Accessory"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":87,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":88,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":89,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":90,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":91,"workout_libraries_id":70,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":92,"workout_libraries_id":110,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71]} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":2,"rows_not_matched":11,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":0,"not_matched":6,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":176,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"5/5","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":0,"status":0} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 03:52:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 03:52:10] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:52:10] local.INFO: Tests retrieved {"count":8,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":24,"library_ids":[118,17,77,42,27,32,56,71,70],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103,104]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71,70],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,176]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[158,176,217,218],"types":["Conditioning","Weightlifting","Warmup","Accessory"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":87,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":88,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":89,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":90,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":158,"relation":"intervals","format_row_id":91,"workout_libraries_id":70,"attached_test_id":104,"attached_test_weight":40.0,"attached_unit_type":"kg","row_data":{"id":91,"stationumber":3,"workout_manager_id":158,"workout_libraries_id":70,"training_load":30,"unit_type":"%","reps":5,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T03:50:54.000000Z","updated_at":"2026-06-18T03:50:54.000000Z","test_weight":40.0,"test_unit_type":"kg","test_id":104,"test_created_at":"2026-06-18 03:54:21","format_row_id":91,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":92,"workout_libraries_id":110,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":3,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":1,"not_matched":5,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":176,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"5/5","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":0,"status":0} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 03:54:22] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 03:54:22] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:54:22] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:54:22] local.INFO: Tests retrieved {"count":9,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":104,"workout_manager_id":219,"category_id":4,"workout_libraries_id":70,"workout_id":70,"member_id":9,"date":"18/06/26 Thursday","weight":40.0,"unit_type":"kg","created_at":"2026-06-18T03:54:21.000000Z","updated_at":"2026-06-18T03:54:21.000000Z","workoutname":"Squat - Squat jump","is_assigned":0,"workout":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":24,"library_ids":[118,17,77,42,27,32,56,71,70],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103,104]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71,70],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,176]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[158,176,217,218],"types":["Conditioning","Weightlifting","Warmup","Accessory"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":87,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":88,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":89,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":90,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":158,"relation":"intervals","format_row_id":91,"workout_libraries_id":70,"attached_test_id":104,"attached_test_weight":40.0,"attached_unit_type":"kg","row_data":{"id":91,"stationumber":3,"workout_manager_id":158,"workout_libraries_id":70,"training_load":30,"unit_type":"%","reps":5,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T03:50:54.000000Z","updated_at":"2026-06-18T03:50:54.000000Z","test_weight":40.0,"test_unit_type":"kg","test_id":104,"test_created_at":"2026-06-18 03:54:21","format_row_id":91,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":92,"workout_libraries_id":110,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":3,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":1,"not_matched":5,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":176,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"5/5","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":0,"status":0} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 03:54:24] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 03:54:24] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:54:24] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:54:24] local.INFO: Tests retrieved {"count":9,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":104,"workout_manager_id":219,"category_id":4,"workout_libraries_id":70,"workout_id":70,"member_id":9,"date":"18/06/26 Thursday","weight":40.0,"unit_type":"kg","created_at":"2026-06-18T03:54:21.000000Z","updated_at":"2026-06-18T03:54:21.000000Z","workoutname":"Squat - Squat jump","is_assigned":0,"workout":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:56:43] local.INFO: storeconditioningdaily function called.  
[2026-06-18 03:56:43] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:56:43] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":158,"workout_format_type":"intervals","workout_format_id":88,"reps":5,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:56:43] local.INFO: Conditioning saved successfully {"workout_manager_id":158} 
[2026-06-18 03:56:44] local.INFO: storeconditioningdaily function called.  
[2026-06-18 03:56:44] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:56:44] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":158,"workout_format_type":"intervals","workout_format_id":87,"reps":5,"set_number":1,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:56:44] local.INFO: Conditioning saved successfully {"workout_manager_id":158} 
[2026-06-18 03:57:15] local.INFO: storeconditioningdaily function called.  
[2026-06-18 03:57:15] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:57:15] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":158,"workout_format_type":"intervals","workout_format_id":89,"reps":5,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:57:15] local.INFO: Conditioning saved successfully {"workout_manager_id":158} 
[2026-06-18 03:57:15] local.INFO: storeconditioningdaily function called.  
[2026-06-18 03:57:15] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:57:15] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":158,"workout_format_type":"intervals","workout_format_id":90,"reps":5,"set_number":2,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:57:15] local.INFO: Conditioning saved successfully {"workout_manager_id":158} 
[2026-06-18 03:57:44] local.INFO: storeconditioningdaily function called.  
[2026-06-18 03:57:44] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:57:44] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":158,"workout_format_type":"intervals","workout_format_id":92,"reps":1,"set_number":3,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: storeconditioningdaily function called.  
[2026-06-18 03:57:44] local.INFO: Conditioning saved successfully {"workout_manager_id":158} 
[2026-06-18 03:57:44] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 03:57:44] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":158,"workout_format_type":"intervals","workout_format_id":91,"reps":5,"set_number":3,"round_number":null,"weight":null,"exercise_time":"00:15","notes":null,"status":null,"date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":24,"library_ids":[118,17,77,42,27,32,56,71,70],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103,104]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71,70],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: Conditioning saved successfully {"workout_manager_id":158} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,176]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[158,176,217,218],"types":["Conditioning","Weightlifting","Warmup","Accessory"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":87,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":88,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":89,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":90,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":158,"relation":"intervals","format_row_id":91,"workout_libraries_id":70,"attached_test_id":104,"attached_test_weight":40.0,"attached_unit_type":"kg","row_data":{"id":91,"stationumber":3,"workout_manager_id":158,"workout_libraries_id":70,"training_load":30,"unit_type":"%","reps":5,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T03:50:54.000000Z","updated_at":"2026-06-18T03:50:54.000000Z","test_weight":40.0,"test_unit_type":"kg","test_id":104,"test_created_at":"2026-06-18 03:54:21","format_row_id":91,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":92,"workout_libraries_id":110,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":3,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":1,"not_matched":5,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":87,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":88,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":89,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":176,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"5/5","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":6,"status":1} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 03:57:44] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 03:57:44] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:57:44] local.INFO: Tests retrieved {"count":9,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":104,"workout_manager_id":219,"category_id":4,"workout_libraries_id":70,"workout_id":70,"member_id":9,"date":"18/06/26 Thursday","weight":40.0,"unit_type":"kg","created_at":"2026-06-18T03:54:21.000000Z","updated_at":"2026-06-18T03:54:21.000000Z","workoutname":"Squat - Squat jump","is_assigned":0,"workout":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":24,"library_ids":[118,17,77,42,27,32,56,71,70],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103,104]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71,70],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,176]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[158,176,217,218],"types":["Conditioning","Weightlifting","Warmup","Accessory"],"formats":["intervals","emom","straight-sets","rounds"]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":87,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":88,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":89,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":90,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":158,"relation":"intervals","format_row_id":91,"workout_libraries_id":70,"attached_test_id":104,"attached_test_weight":40.0,"attached_unit_type":"kg","row_data":{"id":91,"stationumber":3,"workout_manager_id":158,"workout_libraries_id":70,"training_load":30,"unit_type":"%","reps":5,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T03:50:54.000000Z","updated_at":"2026-06-18T03:50:54.000000Z","test_weight":40.0,"test_unit_type":"kg","test_id":104,"test_created_at":"2026-06-18 03:54:21","format_row_id":91,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":92,"workout_libraries_id":110,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":13,"rows_with_lib_id":13,"rows_matched":3,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":4},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":6,"matched":1,"not_matched":5,"empty":3},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":3},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":3},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":87,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":88,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":89,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":176,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"5/5","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":6,"status":1} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 03:59:22] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 03:59:22] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 03:59:22] local.INFO: Tests retrieved {"count":9,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":104,"workout_manager_id":219,"category_id":4,"workout_libraries_id":70,"workout_id":70,"member_id":9,"date":"18/06/26 Thursday","weight":40.0,"unit_type":"kg","created_at":"2026-06-18T03:54:21.000000Z","updated_at":"2026-06-18T03:54:21.000000Z","workoutname":"Squat - Squat jump","is_assigned":0,"workout":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 03:59:24] local.INFO: Tab value: all  
[2026-06-18 03:59:25] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 03:59:25] local.INFO: Saved type row accessory  
[2026-06-18 03:59:25] local.INFO: Saved type row warmup  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row warmup  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row accessory  
[2026-06-18 03:59:25] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row strength  
[2026-06-18 03:59:25] local.INFO: Saved type row accessory  
[2026-06-18 03:59:25] local.INFO: Saved type row strength  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row strength  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row warmup  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row warmup  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row strength  
[2026-06-18 03:59:25] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:25] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:25] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:25] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row accessory  
[2026-06-18 03:59:25] local.INFO: Saved type row accessory  
[2026-06-18 03:59:25] local.INFO: Saved type row accessory  
[2026-06-18 03:59:25] local.INFO: Saved type row warmup  
[2026-06-18 03:59:25] local.INFO: Saved type row warmup  
[2026-06-18 03:59:25] local.INFO: Saved type row warmup  
[2026-06-18 03:59:25] local.INFO: Saved type row warmup  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row strength  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row warmup  
[2026-06-18 03:59:25] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:25] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:25] local.INFO: Saved type row warmup  
[2026-06-18 03:59:25] local.INFO: Saved type row accessory  
[2026-06-18 03:59:25] local.INFO: Saved type row warmup  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row warmup  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row accessory  
[2026-06-18 03:59:25] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row strength  
[2026-06-18 03:59:25] local.INFO: Saved type row accessory  
[2026-06-18 03:59:25] local.INFO: Saved type row strength  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row strength  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:25] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row warmup  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row warmup  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row strength  
[2026-06-18 03:59:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row accessory  
[2026-06-18 03:59:26] local.INFO: Saved type row accessory  
[2026-06-18 03:59:26] local.INFO: Saved type row accessory  
[2026-06-18 03:59:26] local.INFO: Saved type row warmup  
[2026-06-18 03:59:26] local.INFO: Saved type row warmup  
[2026-06-18 03:59:26] local.INFO: Saved type row warmup  
[2026-06-18 03:59:26] local.INFO: Saved type row warmup  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row strength  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:26] local.INFO: Saved type row warmup  
[2026-06-18 03:59:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:26] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:26] local.INFO: Saved type row warmup  
[2026-06-18 03:59:36] local.INFO: assignWorkoutToClass:  {"workout_id":217,"class_id":335,"type":"workout_manager","action":"unassign","date":"18/06/26 Thursday"} 
[2026-06-18 03:59:36] local.INFO: Saved type row accessory  
[2026-06-18 03:59:36] local.INFO: Saved type row warmup  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row warmup  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row accessory  
[2026-06-18 03:59:36] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row strength  
[2026-06-18 03:59:36] local.INFO: Saved type row accessory  
[2026-06-18 03:59:36] local.INFO: Saved type row strength  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row strength  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row warmup  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row warmup  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row strength  
[2026-06-18 03:59:36] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:36] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:36] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:36] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row accessory  
[2026-06-18 03:59:36] local.INFO: Saved type row accessory  
[2026-06-18 03:59:36] local.INFO: Saved type row accessory  
[2026-06-18 03:59:36] local.INFO: Saved type row warmup  
[2026-06-18 03:59:36] local.INFO: Saved type row warmup  
[2026-06-18 03:59:36] local.INFO: Saved type row warmup  
[2026-06-18 03:59:36] local.INFO: Saved type row warmup  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row strength  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row conditioning  
[2026-06-18 03:59:36] local.INFO: Saved type row warmup  
[2026-06-18 03:59:36] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:36] local.INFO: Saved type row weightlifting  
[2026-06-18 03:59:36] local.INFO: Saved type row warmup  
[2026-06-18 03:59:36] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 04:00:49] local.INFO: Tab value: all  
[2026-06-18 04:01:32] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 04:01:32] local.INFO: Saved type row warmup  
[2026-06-18 04:01:32] local.INFO: Saved type row accessory  
[2026-06-18 04:01:32] local.INFO: Saved type row weightlifting  
[2026-06-18 04:01:35] local.INFO: assignWorkoutToClass:  {"workout_id":160,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 04:01:36] local.INFO: Saved type row warmup  
[2026-06-18 04:01:36] local.INFO: Saved type row accessory  
[2026-06-18 04:01:36] local.INFO: Saved type row weightlifting  
[2026-06-18 04:01:36] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 04:01:38] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 04:01:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 04:01:38] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 04:01:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 04:01:38] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":24,"library_ids":[118,17,77,42,27,32,56,71,70],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103,104]} 
[2026-06-18 04:01:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71,70],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 04:01:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 04:01:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,160,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 04:01:38] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,160,176]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[158,160,176,217,218],"types":["Conditioning","Warmup","Weightlifting","Accessory"],"formats":["intervals","circuit","emom","straight-sets","rounds"]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":87,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":88,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":89,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":90,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":158,"relation":"intervals","format_row_id":91,"workout_libraries_id":70,"attached_test_id":104,"attached_test_weight":40.0,"attached_unit_type":"kg","row_data":{"id":91,"stationumber":3,"workout_manager_id":158,"workout_libraries_id":70,"training_load":30,"unit_type":"%","reps":5,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T03:50:54.000000Z","updated_at":"2026-06-18T03:50:54.000000Z","test_weight":40.0,"test_unit_type":"kg","test_id":104,"test_created_at":"2026-06-18 03:54:21","format_row_id":91,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":92,"workout_libraries_id":110,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":19,"workout_libraries_id":65,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":20,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":160,"relation":"circuits","format_row_id":21,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":21,"stationumber":3,"workout_manager_id":160,"workout_libraries_id":71,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-06-18T04:00:45.000000Z","updated_at":"2026-06-18T04:00:45.000000Z","is_for_time":1,"time_to_complete":"00:01:00","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":21,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}}}} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":22,"workout_libraries_id":148,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":23,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":19,"rows_with_lib_id":19,"rows_matched":4,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":6,"matched":1,"not_matched":5,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":6,"matched":1,"not_matched":5,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":87,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":88,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":89,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":176,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"5/5","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":6,"status":1} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":13,"completed":0,"status":0} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-18 04:01:39] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 04:01:39] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 04:01:39] local.INFO: Tests retrieved {"count":9,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":104,"workout_manager_id":219,"category_id":4,"workout_libraries_id":70,"workout_id":70,"member_id":9,"date":"18/06/26 Thursday","weight":40.0,"unit_type":"kg","created_at":"2026-06-18T03:54:21.000000Z","updated_at":"2026-06-18T03:54:21.000000Z","workoutname":"Squat - Squat jump","is_assigned":0,"workout":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 04:02:07] local.INFO: storewarmupdaily function called.  
[2026-06-18 04:02:07] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 04:02:07] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":160,"workout_format_type":"circuit","workout_format_id":18,"reps":0,"exercise_time":"00:06","date":"18/06/26 Thursday","is_completed":1,"status":"completed","weight":20,"set_number":1,"round_number":"1/1","class_Id":335}]} 
[2026-06-18 04:02:07] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-18 04:02:07] local.INFO: New warm-up created {"workout_manager_id":160,"workout_format_type":"circuit","workout_format_id":18,"round_number":"1/1"} 
[2026-06-18 04:02:12] local.INFO: storewarmupdaily function called.  
[2026-06-18 04:02:12] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 04:02:12] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":160,"workout_format_type":"circuit","workout_format_id":19,"reps":10,"exercise_time":"00:12","date":"18/06/26 Thursday","is_completed":1,"status":"completed","weight":0,"set_number":2,"round_number":"1/1","class_Id":335},{"workout_manager_id":160,"workout_format_type":"circuit","workout_format_id":20,"reps":10,"exercise_time":"00:12","date":"18/06/26 Thursday","is_completed":1,"status":"completed","weight":0,"set_number":2,"round_number":"1/1","class_Id":335}]} 
[2026-06-18 04:02:12] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-18 04:02:12] local.INFO: New warm-up created {"workout_manager_id":160,"workout_format_type":"circuit","workout_format_id":19,"round_number":"1/1"} 
[2026-06-18 04:02:12] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-18 04:02:12] local.INFO: New warm-up created {"workout_manager_id":160,"workout_format_type":"circuit","workout_format_id":20,"round_number":"1/1"} 
[2026-06-18 04:02:15] local.INFO: storewarmupdaily function called.  
[2026-06-18 04:02:15] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 04:02:15] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":160,"workout_format_type":"circuit","workout_format_id":21,"reps":3,"exercise_time":"00:15","date":"18/06/26 Thursday","is_completed":1,"status":"completed","weight":80,"set_number":3,"round_number":"1/1","class_Id":335},{"workout_manager_id":160,"workout_format_type":"circuit","workout_format_id":22,"reps":4,"exercise_time":"00:15","date":"18/06/26 Thursday","is_completed":1,"status":"completed","weight":0,"set_number":3,"round_number":"1/1","class_Id":335}]} 
[2026-06-18 04:02:15] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-18 04:02:15] local.INFO: New warm-up created {"workout_manager_id":160,"workout_format_type":"circuit","workout_format_id":21,"round_number":"1/1"} 
[2026-06-18 04:02:15] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-18 04:02:15] local.INFO: New warm-up created {"workout_manager_id":160,"workout_format_type":"circuit","workout_format_id":22,"round_number":"1/1"} 
[2026-06-18 04:02:20] local.INFO: storewarmupdaily function called.  
[2026-06-18 04:02:20] local.INFO: Authenticated user ID: 14, Member ID: 9  
[2026-06-18 04:02:20] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":160,"workout_format_type":"circuit","workout_format_id":23,"reps":5,"exercise_time":"00:19","date":"18/06/26 Thursday","is_completed":1,"status":"completed","weight":0,"set_number":4,"round_number":"1/1","class_Id":335}]} 
[2026-06-18 04:02:20] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-18 04:02:20] local.INFO: New warm-up created {"workout_manager_id":160,"workout_format_type":"circuit","workout_format_id":23,"round_number":"1/1"} 
[2026-06-18 04:03:55] local.INFO: assignWorkoutToClass:  {"workout_id":160,"class_id":335,"type":"workout_manager","action":"unassign","date":"18/06/26 Thursday"} 
[2026-06-18 04:03:55] local.INFO: Saved type row warmup  
[2026-06-18 04:03:55] local.INFO: Saved type row accessory  
[2026-06-18 04:03:55] local.INFO: Saved type row weightlifting  
[2026-06-18 04:03:55] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 04:03:58] local.INFO: assignWorkoutToClass:  {"workout_id":160,"class_id":335,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 04:03:58] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 04:03:58] local.INFO: Saved type row warmup  
[2026-06-18 04:03:58] local.INFO: Saved type row accessory  
[2026-06-18 04:03:58] local.INFO: Saved type row weightlifting  
[2026-06-18 04:04:01] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":24,"library_ids":[118,17,77,42,27,32,56,71,70],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103,104]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71,70],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,160,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,160,176]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[158,160,176,217,218],"types":["Conditioning","Warmup","Weightlifting","Accessory"],"formats":["intervals","circuit","emom","straight-sets","rounds"]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":87,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":88,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":89,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":90,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":158,"relation":"intervals","format_row_id":91,"workout_libraries_id":70,"attached_test_id":104,"attached_test_weight":40.0,"attached_unit_type":"kg","row_data":{"id":91,"stationumber":3,"workout_manager_id":158,"workout_libraries_id":70,"training_load":30,"unit_type":"%","reps":5,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T03:50:54.000000Z","updated_at":"2026-06-18T03:50:54.000000Z","test_weight":40.0,"test_unit_type":"kg","test_id":104,"test_created_at":"2026-06-18 03:54:21","format_row_id":91,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":92,"workout_libraries_id":110,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":19,"workout_libraries_id":65,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":20,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":160,"relation":"circuits","format_row_id":21,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":21,"stationumber":3,"workout_manager_id":160,"workout_libraries_id":71,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-06-18T04:00:45.000000Z","updated_at":"2026-06-18T04:00:45.000000Z","is_for_time":1,"time_to_complete":"00:01:00","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":21,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}}}} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":22,"workout_libraries_id":148,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":23,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":19,"rows_with_lib_id":19,"rows_matched":4,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":6,"matched":1,"not_matched":5,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":6,"matched":1,"not_matched":5,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":87,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":88,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:01] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":89,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":160,"workout_format_id":18,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":160,"workout_format_id":19,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":160,"workout_format_id":20,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":160,"workout_format_id":21,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":160,"workout_format_id":22,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":160,"workout_format_id":23,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":176,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"5/5","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":6,"status":1} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":13,"completed":6,"status":0} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-18 04:04:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 04:04:02] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 04:04:02] local.INFO: Tests retrieved {"count":9,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":104,"workout_manager_id":219,"category_id":4,"workout_libraries_id":70,"workout_id":70,"member_id":9,"date":"18/06/26 Thursday","weight":40.0,"unit_type":"kg","created_at":"2026-06-18T03:54:21.000000Z","updated_at":"2026-06-18T03:54:21.000000Z","workoutname":"Squat - Squat jump","is_assigned":0,"workout":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts] Request received {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts] START {"user_id":14,"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":9,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":24,"library_ids":[118,17,77,42,27,32,56,71,70],"test_ids":[61,63,72,73,74,75,76,77,78,79,80,81,88,89,90,94,95,96,97,100,101,102,103,104]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[118,17,77,42,27,32,56,71,70],"testMap_sample":{"118":{"test_id":102,"weight":110.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:12:41"},"17":{"test_id":101,"weight":165.0,"unit_type":"kg","date":"17/06/26 Wednesday","test_created_at":"2026-06-17 01:10:52"},"77":{"test_id":76,"weight":150.0,"unit_type":"kg","date":"22/04/26 Wednesday","test_created_at":"2026-04-22 02:49:35"},"42":{"test_id":78,"weight":80.0,"unit_type":"kg","date":"03/06/26 Wednesday","test_created_at":"2026-06-03 03:12:07"},"27":{"test_id":89,"weight":60.0,"unit_type":"kg","date":"11/06/26 Thursday","test_created_at":"2026-06-11 01:52:11"}}} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,160,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,160,176]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[158,160,176,217,218],"types":["Conditioning","Warmup","Weightlifting","Accessory"],"formats":["intervals","circuit","emom","straight-sets","rounds"]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":87,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":88,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":89,"workout_libraries_id":51,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":90,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":158,"relation":"intervals","format_row_id":91,"workout_libraries_id":70,"attached_test_id":104,"attached_test_weight":40.0,"attached_unit_type":"kg","row_data":{"id":91,"stationumber":3,"workout_manager_id":158,"workout_libraries_id":70,"training_load":30,"unit_type":"%","reps":5,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T03:50:54.000000Z","updated_at":"2026-06-18T03:50:54.000000Z","test_weight":40.0,"test_unit_type":"kg","test_id":104,"test_created_at":"2026-06-18 03:54:21","format_row_id":91,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":92,"workout_libraries_id":110,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":18,"workout_libraries_id":21,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":19,"workout_libraries_id":65,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":20,"workout_libraries_id":127,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":160,"relation":"circuits","format_row_id":21,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":21,"stationumber":3,"workout_manager_id":160,"workout_libraries_id":71,"training_load":80,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-06-18T04:00:45.000000Z","updated_at":"2026-06-18T04:00:45.000000Z","is_for_time":1,"time_to_complete":"00:01:00","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":21,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}}}} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":22,"workout_libraries_id":148,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":23,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"attached_test_id":103,"attached_test_weight":200.0,"attached_unit_type":"kg","row_data":{"id":95,"workout_manager_id":217,"workout_libraries_id":71,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","test_weight":200.0,"test_unit_type":"kg","test_id":103,"test_created_at":"2026-06-17 01:14:26","format_row_id":95,"format_relation":"straights","format_table":"straights","workout_library":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"sets":[{"id":331,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":65,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":332,"workout_libraries_id":71,"straight_id":95,"res":0,"training_load":70,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":333,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":334,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":335,"workout_libraries_id":71,"straight_id":95,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-18T03:25:22.000000Z","updated_at":"2026-06-18T03:25:22.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"attached_test_id":89,"attached_test_weight":60.0,"attached_unit_type":"kg","row_data":{"id":121,"workout_manager_id":218,"workout_libraries_id":27,"training_load":35,"unit_type":"Kg","gender":null,"reps":6,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":60.0,"test_unit_type":"kg","test_id":89,"test_created_at":"2026-06-11 01:52:11","format_row_id":121,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[118,17,77,42,27,32,56,71,70]} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":19,"rows_with_lib_id":19,"rows_matched":4,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":6,"matched":1,"not_matched":5,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":2,"matched":1,"not_matched":1,"empty":4},"circuits":{"seen":6,"matched":1,"not_matched":5,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":87,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":88,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":89,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":90,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":91,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyConditioning","workout_manager_id":158,"workout_format_id":92,"exists":true,"isCompleted":true,"round_number":"","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":160,"workout_format_id":18,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":160,"workout_format_id":19,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":160,"workout_format_id":20,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":160,"workout_format_id":21,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":160,"workout_format_id":22,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":160,"workout_format_id":23,"exists":true,"isCompleted":true,"round_number":"1/1","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":176,"workout_format_id":46,"exists":true,"isCompleted":true,"round_number":"5/5","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":120,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":121,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":122,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyAccessory","workout_manager_id":218,"workout_format_id":123,"exists":true,"isCompleted":true,"round_number":"3/3","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":6,"status":1} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":13,"completed":6,"status":0} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":1,"status":1} 
[2026-06-18 04:04:06] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":4,"status":1} 
[2026-06-18 04:04:06] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 04:04:06] local.INFO: Tests retrieved {"count":9,"tests":[{"id":76,"workout_manager_id":127,"category_id":5,"workout_libraries_id":77,"workout_id":77,"member_id":9,"date":"22/04/26 Wednesday","weight":150.0,"unit_type":"kg","created_at":"2026-04-22T02:49:35.000000Z","updated_at":"2026-04-22T02:49:35.000000Z","workoutname":"Hinge - Hip thrust","is_assigned":0,"workout":{"id":77,"category_options_id":5,"type":"strength","workout":"Hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T02:45:05.000000Z","updated_at":"2024-11-28T02:45:05.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":78,"workout_manager_id":170,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":9,"date":"03/06/26 Wednesday","weight":80.0,"unit_type":"kg","created_at":"2026-06-03T03:12:07.000000Z","updated_at":"2026-06-03T03:12:07.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":89,"workout_manager_id":187,"category_id":1,"workout_libraries_id":27,"workout_id":27,"member_id":9,"date":"11/06/26 Thursday","weight":60.0,"unit_type":"kg","created_at":"2026-06-11T01:52:11.000000Z","updated_at":"2026-06-11T01:52:11.000000Z","workoutname":"Horizontal pull - Bent over row","is_assigned":0,"workout":{"id":27,"category_options_id":1,"type":"strength","workout":"Bent over row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:53:40.000000Z","updated_at":"2024-11-28T01:53:40.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":94,"workout_manager_id":195,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":9,"date":"15/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-15T02:37:29.000000Z","updated_at":"2026-06-15T02:37:29.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":97,"workout_manager_id":198,"category_id":3,"workout_libraries_id":56,"workout_id":56,"member_id":9,"date":"15/06/26 Monday","weight":15.0,"unit_type":"kg","created_at":"2026-06-15T04:11:16.000000Z","updated_at":"2026-06-15T04:11:16.000000Z","workoutname":"Vertical pull - Single arm Lat pull down","is_assigned":0,"workout":{"id":56,"category_options_id":3,"type":"strength","workout":"Single arm Lat pull down","link":"https://www.youtube.com/","created_at":"2024-11-28T02:32:04.000000Z","updated_at":"2024-11-28T02:32:04.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":101,"workout_manager_id":211,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":9,"date":"17/06/26 Wednesday","weight":165.0,"unit_type":"kg","created_at":"2026-06-17T01:10:52.000000Z","updated_at":"2026-06-17T01:10:52.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":102,"workout_manager_id":212,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":9,"date":"17/06/26 Wednesday","weight":110.0,"unit_type":"kg","created_at":"2026-06-17T01:12:41.000000Z","updated_at":"2026-06-17T01:12:41.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":103,"workout_manager_id":213,"category_id":5,"workout_libraries_id":71,"workout_id":71,"member_id":9,"date":"17/06/26 Wednesday","weight":200.0,"unit_type":"kg","created_at":"2026-06-17T01:14:26.000000Z","updated_at":"2026-06-17T01:14:26.000000Z","workoutname":"Carry - Deadlift","is_assigned":0,"workout":{"id":71,"category_options_id":5,"type":"strength","workout":"Deadlift","link":"https://www.youtube.com/","created_at":"2024-11-28T02:42:07.000000Z","updated_at":"2024-11-28T02:42:07.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}},{"id":104,"workout_manager_id":219,"category_id":4,"workout_libraries_id":70,"workout_id":70,"member_id":9,"date":"18/06/26 Thursday","weight":40.0,"unit_type":"kg","created_at":"2026-06-18T03:54:21.000000Z","updated_at":"2026-06-18T03:54:21.000000Z","workoutname":"Squat - Squat jump","is_assigned":0,"workout":{"id":70,"category_options_id":4,"type":"strength","workout":"Squat jump","link":"https://www.youtube.com/","created_at":"2024-11-28T02:41:49.000000Z","updated_at":"2024-11-28T02:41:49.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":9,"user_id":14,"firstname":"James","lastname":"Lukins","dob":"1986-06-27","gender":"Male","age":39,"phone":"0405275022","email":"james@jnplms.com.au","address":"24 Warringa Road FrankstonVic 3199","height":187,"weight":108,"bmr":"2058.75","primary_goal":"Build Muscle","subscription_level":"Unlimited","image_paths":"profile/PQ9lhHQda69m3ZizKYacPACOkn4pEdRKRG46FF0x.jpg","created_at":"2026-01-12T00:08:03.000000Z","updated_at":"2026-06-02T00:54:27.000000Z","startdate":"2026-01-01","is_subsactive":1}}]} 
[2026-06-18 07:07:36] local.INFO: mobile login pin : 1234  
[2026-06-18 07:07:39] local.INFO: mobile login pin : 3333  
[2026-06-18 07:07:55] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:07:55] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:07:55] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:07:55] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:07:55] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:07:55] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:07:55] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:07:55] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:07:55] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:02] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:02] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:03] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:03] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:03] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:04] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:04] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:06] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:06] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:07] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:07] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:15] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:15] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:16] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:16] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:16] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:20] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:20] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:21] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":18,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98]} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":92,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 02:15:40"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:21] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:21] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:35] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:35] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:35] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:35] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:35] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 07:08:35] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:35] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:35] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:35] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:38] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:38] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 07:08:38] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 07:08:38] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:38] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 07:08:38] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 07:08:38] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 07:08:38] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 07:08:38] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 09:54:54] local.INFO: mobile login pin : 3333  
[2026-06-18 09:55:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 09:55:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 09:55:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 09:55:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 09:55:00] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 09:55:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 09:55:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 09:55:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 09:55:00] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 09:55:07] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 09:55:07] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 09:55:07] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 09:55:07] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 09:55:07] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 09:55:07] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 09:55:07] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 09:55:07] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 09:55:07] local.WARNING: [getWorkouts] No workout assignments found {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 09:56:13] local.INFO: Tab value: all  
[2026-06-18 09:56:13] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 09:56:14] local.INFO: Saved type row accessory  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row accessory  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row strength  
[2026-06-18 09:56:14] local.INFO: Saved type row accessory  
[2026-06-18 09:56:14] local.INFO: Saved type row strength  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row strength  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row strength  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row accessory  
[2026-06-18 09:56:14] local.INFO: Saved type row accessory  
[2026-06-18 09:56:14] local.INFO: Saved type row accessory  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row strength  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row accessory  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row accessory  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row strength  
[2026-06-18 09:56:14] local.INFO: Saved type row accessory  
[2026-06-18 09:56:14] local.INFO: Saved type row strength  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row strength  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row strength  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row accessory  
[2026-06-18 09:56:14] local.INFO: Saved type row accessory  
[2026-06-18 09:56:14] local.INFO: Saved type row accessory  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row strength  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row conditioning  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row weightlifting  
[2026-06-18 09:56:14] local.INFO: Saved type row warmup  
[2026-06-18 09:56:49] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":335,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":335,"date_string":"18/06/26 Thursday"} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":5,"workout_ids":[217,158,218,160,176],"types":["strength","conditioning","accessory","warmup","weightlifting"]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,158,218,160,176]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":5,"ids":[158,160,176,217,218],"types":["Conditioning","Warmup","Weightlifting","Accessory"],"formats":["intervals","circuit","emom","straight-sets","rounds"]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":87,"workout_libraries_id":51,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":158,"relation":"intervals","format_row_id":88,"workout_libraries_id":16,"attached_test_id":91,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":88,"stationumber":1,"workout_manager_id":158,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","reps":5,"gender":null,"work":"00:00:15","rest":"00:00:15","created_at":"2026-06-18T03:50:54.000000Z","updated_at":"2026-06-18T03:50:54.000000Z","test_weight":165.0,"test_unit_type":"kg","test_id":91,"test_created_at":"2026-06-15 01:51:50","format_row_id":88,"format_relation":"intervals","format_table":"intervals","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":89,"workout_libraries_id":51,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":90,"workout_libraries_id":127,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":91,"workout_libraries_id":70,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":158,"relation":"intervals","format_row_id":92,"workout_libraries_id":110,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":160,"relation":"circuits","format_row_id":18,"workout_libraries_id":21,"attached_test_id":69,"attached_test_weight":50.0,"attached_unit_type":"kg","row_data":{"id":18,"stationumber":1,"workout_manager_id":160,"workout_libraries_id":21,"training_load":20,"unit_type":"Cal","gender":null,"reps":null,"created_at":"2026-06-18T04:00:45.000000Z","updated_at":"2026-06-18T04:00:45.000000Z","is_for_time":1,"time_to_complete":"00:01:00","test_weight":50.0,"test_unit_type":"kg","test_id":69,"test_created_at":"2026-03-24 07:58:10","format_row_id":18,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}}}} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":19,"workout_libraries_id":65,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":20,"workout_libraries_id":127,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":21,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":160,"relation":"circuits","format_row_id":22,"workout_libraries_id":148,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":160,"relation":"circuits","format_row_id":23,"workout_libraries_id":16,"attached_test_id":91,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":23,"stationumber":4,"workout_manager_id":160,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","gender":null,"reps":5,"created_at":"2026-06-18T04:00:45.000000Z","updated_at":"2026-06-18T04:00:45.000000Z","is_for_time":1,"time_to_complete":"00:01:00","test_weight":165.0,"test_unit_type":"kg","test_id":91,"test_created_at":"2026-06-15 01:51:50","format_row_id":23,"format_relation":"circuits","format_table":"circuits","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":46,"workout_libraries_id":157,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"attached_test_id":91,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":120,"workout_manager_id":218,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","gender":null,"reps":5,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":165.0,"test_unit_type":"kg","test_id":91,"test_created_at":"2026-06-15 01:51:50","format_row_id":120,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":19,"rows_with_lib_id":19,"rows_matched":4,"rows_not_matched":15,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":4},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":5},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":5},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":5},"intervals":{"seen":6,"matched":1,"not_matched":5,"empty":4},"emoms":{"seen":1,"matched":0,"not_matched":1,"empty":4},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":4},"circuits":{"seen":6,"matched":2,"not_matched":4,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":5}}} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":6,"completed":0,"status":0} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":13,"completed":0,"status":0} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":1,"completed":0,"status":0} 
[2026-06-18 09:56:49] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":0,"status":0} 
[2026-06-18 09:56:49] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 09:56:49] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 09:56:49] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":105,"workout_manager_id":220,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"18/06/26 Thursday","weight":227.0,"unit_type":"kg","created_at":"2026-06-18T07:08:34.000000Z","updated_at":"2026-06-18T07:08:34.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 09:58:07] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 09:58:07] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 09:58:07] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 09:58:07] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":176,"workout_format_type":"emom","workout_format_id":46,"reps":0,"set_number":1,"round_number":"1/5","weight":20,"exercise_time":"01:00","notes":null,"status":"incompleted","date":"18/06/26 Thursday","class_Id":335}]} 
[2026-06-18 09:58:07] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-06-18 09:58:07] local.INFO: New weightlifting record created {"workout_manager_id":176,"set_number":1} 
[2026-06-18 10:07:06] local.INFO: Tab value: all  
[2026-06-18 10:07:10] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 10:07:10] local.INFO: Saved type row accessory  
[2026-06-18 10:07:10] local.INFO: Saved type row warmup  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row warmup  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row accessory  
[2026-06-18 10:07:10] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:10] local.INFO: Saved type row warmup  
[2026-06-18 10:07:10] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row strength  
[2026-06-18 10:07:10] local.INFO: Saved type row accessory  
[2026-06-18 10:07:10] local.INFO: Saved type row strength  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row strength  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row warmup  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row warmup  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row strength  
[2026-06-18 10:07:10] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:10] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:10] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:10] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row accessory  
[2026-06-18 10:07:10] local.INFO: Saved type row accessory  
[2026-06-18 10:07:10] local.INFO: Saved type row accessory  
[2026-06-18 10:07:10] local.INFO: Saved type row warmup  
[2026-06-18 10:07:10] local.INFO: Saved type row warmup  
[2026-06-18 10:07:10] local.INFO: Saved type row warmup  
[2026-06-18 10:07:10] local.INFO: Saved type row warmup  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row strength  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:10] local.INFO: Saved type row warmup  
[2026-06-18 10:07:10] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:10] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:10] local.INFO: Saved type row warmup  
[2026-06-18 10:07:18] local.INFO: assignWorkoutToClass:  {"workout_id":218,"class_id":152,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 10:07:19] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 10:07:19] local.INFO: Saved type row accessory  
[2026-06-18 10:07:19] local.INFO: Saved type row warmup  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row warmup  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row accessory  
[2026-06-18 10:07:19] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:19] local.INFO: Saved type row warmup  
[2026-06-18 10:07:19] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row strength  
[2026-06-18 10:07:19] local.INFO: Saved type row accessory  
[2026-06-18 10:07:19] local.INFO: Saved type row strength  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row strength  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row warmup  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row warmup  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row strength  
[2026-06-18 10:07:19] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:19] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:19] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:19] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row accessory  
[2026-06-18 10:07:19] local.INFO: Saved type row accessory  
[2026-06-18 10:07:19] local.INFO: Saved type row accessory  
[2026-06-18 10:07:19] local.INFO: Saved type row warmup  
[2026-06-18 10:07:19] local.INFO: Saved type row warmup  
[2026-06-18 10:07:19] local.INFO: Saved type row warmup  
[2026-06-18 10:07:19] local.INFO: Saved type row warmup  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row strength  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:19] local.INFO: Saved type row warmup  
[2026-06-18 10:07:19] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:19] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:19] local.INFO: Saved type row warmup  
[2026-06-18 10:07:28] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[218],"types":["accessory"]} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[218]} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[218],"types":["Accessory"],"formats":["rounds"]} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":218,"relation":"rounds","format_row_id":120,"workout_libraries_id":16,"attached_test_id":91,"attached_test_weight":165.0,"attached_unit_type":"kg","row_data":{"id":120,"workout_manager_id":218,"workout_libraries_id":16,"training_load":null,"unit_type":"BW","gender":null,"reps":5,"created_at":"2026-06-18T03:31:59.000000Z","updated_at":"2026-06-18T03:31:59.000000Z","is_for_time":0,"time_to_complete":null,"test_weight":165.0,"test_unit_type":"kg","test_id":91,"test_created_at":"2026-06-15 01:51:50","format_row_id":120,"format_relation":"rounds","format_table":"rounds","workout_library":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}}}} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":121,"workout_libraries_id":27,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":122,"workout_libraries_id":151,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":218,"relation":"rounds","format_row_id":123,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":4,"matched":1,"not_matched":3,"empty":0},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-18 10:07:28] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Accessory","total":4,"completed":0,"status":0} 
[2026-06-18 10:07:28] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 10:07:28] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 10:07:28] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":105,"workout_manager_id":220,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"18/06/26 Thursday","weight":227.0,"unit_type":"kg","created_at":"2026-06-18T07:08:34.000000Z","updated_at":"2026-06-18T07:08:34.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 10:07:40] local.INFO: assignWorkoutToClass:  {"workout_id":218,"class_id":152,"type":"workout_manager","action":"unassign","date":"18/06/26 Thursday"} 
[2026-06-18 10:07:40] local.INFO: Saved type row accessory  
[2026-06-18 10:07:40] local.INFO: Saved type row warmup  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row warmup  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row accessory  
[2026-06-18 10:07:40] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:40] local.INFO: Saved type row warmup  
[2026-06-18 10:07:40] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row strength  
[2026-06-18 10:07:40] local.INFO: Saved type row accessory  
[2026-06-18 10:07:40] local.INFO: Saved type row strength  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row strength  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row warmup  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row warmup  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row strength  
[2026-06-18 10:07:40] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:40] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:40] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:40] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:40] local.INFO: Saved type row accessory  
[2026-06-18 10:07:40] local.INFO: Saved type row accessory  
[2026-06-18 10:07:40] local.INFO: Saved type row accessory  
[2026-06-18 10:07:40] local.INFO: Saved type row warmup  
[2026-06-18 10:07:40] local.INFO: Saved type row warmup  
[2026-06-18 10:07:40] local.INFO: Saved type row warmup  
[2026-06-18 10:07:40] local.INFO: Saved type row warmup  
[2026-06-18 10:07:40] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:41] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:41] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:41] local.INFO: Saved type row strength  
[2026-06-18 10:07:41] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:41] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:41] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:41] local.INFO: Saved type row warmup  
[2026-06-18 10:07:41] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:41] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:41] local.INFO: Saved type row warmup  
[2026-06-18 10:07:41] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 10:07:48] local.INFO: assignWorkoutToClass:  {"workout_id":176,"class_id":152,"type":"workout_manager","action":"assign","date":"18/06/26 Thursday"} 
[2026-06-18 10:07:48] local.INFO: Saved type row accessory  
[2026-06-18 10:07:48] local.INFO: Saved type row warmup  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row warmup  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row accessory  
[2026-06-18 10:07:48] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:48] local.INFO: Saved type row warmup  
[2026-06-18 10:07:48] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row strength  
[2026-06-18 10:07:48] local.INFO: Saved type row accessory  
[2026-06-18 10:07:48] local.INFO: Saved type row strength  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row strength  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row warmup  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row warmup  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row strength  
[2026-06-18 10:07:48] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:48] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:48] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:48] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row accessory  
[2026-06-18 10:07:48] local.INFO: Saved type row accessory  
[2026-06-18 10:07:48] local.INFO: Saved type row accessory  
[2026-06-18 10:07:48] local.INFO: Saved type row warmup  
[2026-06-18 10:07:48] local.INFO: Saved type row warmup  
[2026-06-18 10:07:48] local.INFO: Saved type row warmup  
[2026-06-18 10:07:48] local.INFO: Saved type row warmup  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row strength  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row conditioning  
[2026-06-18 10:07:48] local.INFO: Saved type row warmup  
[2026-06-18 10:07:48] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:48] local.INFO: Saved type row weightlifting  
[2026-06-18 10:07:48] local.INFO: Saved type row warmup  
[2026-06-18 10:07:48] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 10:07:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 10:07:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 10:07:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 10:07:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 10:07:53] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 10:07:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 10:07:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 10:07:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[176],"types":["weightlifting"]} 
[2026-06-18 10:07:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[176]} 
[2026-06-18 10:07:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[176],"types":["Weightlifting"],"formats":["emom"]} 
[2026-06-18 10:07:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 10:07:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":47,"workout_libraries_id":157,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 10:07:53] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":176,"relation":"emoms","format_row_id":48,"workout_libraries_id":17,"attached_test_id":105,"attached_test_weight":227.0,"attached_unit_type":"kg","row_data":{"id":48,"workout_manager_id":176,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-06-18T10:07:03.000000Z","updated_at":"2026-06-18T10:07:03.000000Z","exercise_time":"1","test_weight":227.0,"test_unit_type":"kg","test_id":105,"test_created_at":"2026-06-18 07:08:34","format_row_id":48,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 10:07:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":1,"rows_not_matched":1,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":0},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-18 10:07:53] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":2,"completed":0,"status":0} 
[2026-06-18 10:07:53] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 10:07:53] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 10:07:53] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":105,"workout_manager_id":220,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"18/06/26 Thursday","weight":227.0,"unit_type":"kg","created_at":"2026-06-18T07:08:34.000000Z","updated_at":"2026-06-18T07:08:34.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 10:09:08] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 10:09:08] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 10:09:08] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 10:09:08] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":176,"workout_format_type":"emom","workout_format_id":47,"reps":0,"set_number":1,"round_number":"1/5","weight":20,"exercise_time":"01:00","notes":null,"status":"incompleted","date":"18/06/26 Thursday","class_Id":152}]} 
[2026-06-18 10:09:08] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-06-18 10:09:08] local.INFO: New weightlifting record created {"workout_manager_id":176,"set_number":1} 
[2026-06-18 10:09:08] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 10:09:08] local.INFO: storeweightliftingdaily function called.  
[2026-06-18 10:09:08] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 10:09:08] local.INFO: Received weightlifting payload: {"weightliftingItems":[{"workout_manager_id":176,"workout_format_type":"emom","workout_format_id":48,"reps":0,"set_number":1,"round_number":"1/5","weight":55,"exercise_time":"01:00","notes":null,"status":"incompleted","date":"18/06/26 Thursday","class_Id":152}]} 
[2026-06-18 10:09:08] local.INFO: Existing weightlifting record: {"dailyWeightlifting":null} 
[2026-06-18 10:09:08] local.INFO: New weightlifting record created {"workout_manager_id":176,"set_number":1} 
[2026-06-18 10:28:47] local.INFO: Saved type row warmup  
[2026-06-18 10:28:47] local.INFO: Saved type row conditioning  
[2026-06-18 10:28:47] local.INFO: Saved type row strength  
[2026-06-18 10:28:47] local.INFO: Saved type row conditioning  
[2026-06-18 10:28:47] local.INFO: Saved type row conditioning  
[2026-06-18 10:28:47] local.INFO: Saved type row conditioning  
[2026-06-18 10:28:47] local.INFO: Saved type row weightlifting  
[2026-06-18 10:28:54] local.INFO: assignWorkoutToClass:  {"workout_id":215,"class_id":"all","type":"workout_manager","action":"assign_all","date":"18/06/26 Thursday"} 
[2026-06-18 10:28:54] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-18 10:28:54] local.INFO: Workout assigned successfully. {"type":"workout_manager"} 
[2026-06-18 10:28:54] local.INFO: Saved type row warmup  
[2026-06-18 10:28:54] local.INFO: Saved type row conditioning  
[2026-06-18 10:28:54] local.INFO: Saved type row strength  
[2026-06-18 10:28:54] local.INFO: Saved type row conditioning  
[2026-06-18 10:28:54] local.INFO: Saved type row conditioning  
[2026-06-18 10:28:54] local.INFO: Saved type row conditioning  
[2026-06-18 10:28:54] local.INFO: Saved type row weightlifting  
[2026-06-18 10:28:54] local.INFO: Day received: {"day":"18/06/26 Thursday"} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"18/06/26 Thursday","date_obj":"2026-06-18"} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday","patterns":["18/06/26 Thursday","18/06/26","18/06/2026","18/06/26 Thursday","18/06/2026 Thursday","Thursday 18/06/26","Thursday 18/06/2026"]} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":152,"date_string":"18/06/26 Thursday"} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[176,215],"types":["weightlifting","warmup"]} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[176,215]} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[176,215],"types":["Weightlifting","Warmup"],"formats":["emom","amrap"]} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":176,"relation":"emoms","format_row_id":47,"workout_libraries_id":157,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":176,"relation":"emoms","format_row_id":48,"workout_libraries_id":17,"attached_test_id":105,"attached_test_weight":227.0,"attached_unit_type":"kg","row_data":{"id":48,"workout_manager_id":176,"workout_libraries_id":17,"training_load":55,"unit_type":"%","gender":null,"reps":3,"created_at":"2026-06-18T10:07:03.000000Z","updated_at":"2026-06-18T10:07:03.000000Z","exercise_time":"1","test_weight":227.0,"test_unit_type":"kg","test_id":105,"test_created_at":"2026-06-18 07:08:34","format_row_id":48,"format_relation":"emoms","format_table":"emoms","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}}}} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":79,"workout_libraries_id":51,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":80,"workout_libraries_id":57,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":215,"relation":"amraps","format_row_id":81,"workout_libraries_id":65,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":5,"rows_with_lib_id":5,"rows_matched":1,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":3,"matched":0,"not_matched":3,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":2,"matched":1,"not_matched":1,"empty":1},"straights":{"seen":0,"matched":0,"not_matched":0,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":176,"workout_format_id":47,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWeightlifting","workout_manager_id":176,"workout_format_id":48,"exists":true,"isCompleted":false,"round_number":"1/5","query_date":"18/06/26 Thursday","db_date":"18/06/26 Thursday"} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 10:28:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"class_id":152,"round_entries":[]} 
[2026-06-18 10:28:58] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 10:28:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"class_id":152,"round_entries":[]} 
[2026-06-18 10:28:58] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 10:28:58] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"class_id":152,"round_entries":[]} 
[2026-06-18 10:28:58] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Weightlifting","total":2,"completed":0,"status":0} 
[2026-06-18 10:28:58] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":3,"completed":0,"status":0} 
[2026-06-18 10:28:58] local.INFO: Day received (raw): {"day":"18/06/26 Thursday"} 
[2026-06-18 10:28:58] local.INFO: Day received (sanitized): {"day":"18/06/26 Thursday"} 
[2026-06-18 10:28:58] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":105,"workout_manager_id":220,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"18/06/26 Thursday","weight":227.0,"unit_type":"kg","created_at":"2026-06-18T07:08:34.000000Z","updated_at":"2026-06-18T07:08:34.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 10:29:14] local.INFO: storewarmupdaily function called.  
[2026-06-18 10:29:14] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 10:29:14] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":215,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":79,"reps":0,"round_number":"1/3","exercise_time":"11:59","date":"18/06/26 Thursday","status":null,"class_Id":152},{"workout_manager_id":215,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":80,"reps":0,"round_number":"1/3","exercise_time":"11:59","date":"18/06/26 Thursday","status":null,"class_Id":152},{"workout_manager_id":215,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":81,"reps":0,"round_number":"1/3","exercise_time":"11:59","date":"18/06/26 Thursday","status":null,"class_Id":152}]} 
[2026-06-18 10:29:14] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-18 10:29:14] local.INFO: New warm-up created {"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"round_number":"1/3"} 
[2026-06-18 10:29:14] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-18 10:29:14] local.INFO: New warm-up created {"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"round_number":"1/3"} 
[2026-06-18 10:29:14] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-18 10:29:14] local.INFO: New warm-up created {"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"round_number":"1/3"} 
[2026-06-18 10:29:14] local.INFO: storewarmupdaily function called.  
[2026-06-18 10:29:14] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 10:29:14] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":215,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":79,"reps":0,"round_number":"2/3","exercise_time":"11:59","date":"18/06/26 Thursday","status":null,"class_Id":152},{"workout_manager_id":215,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":80,"reps":0,"round_number":"2/3","exercise_time":"11:59","date":"18/06/26 Thursday","status":null,"class_Id":152},{"workout_manager_id":215,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":81,"reps":0,"round_number":"2/3","exercise_time":"11:59","date":"18/06/26 Thursday","status":null,"class_Id":152}]} 
[2026-06-18 10:29:14] local.INFO: Existing warmup record: {"dailyWarmup":{"id":103,"class_id":152,"member_id":2,"warmup_id":null,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"reps":0,"date":"18/06/26 Thursday","created_at":"2026-06-18T10:29:14.000000Z","updated_at":"2026-06-18T10:29:14.000000Z","exercise_time":"11:59","round_number":"1/3","notes":null}} 
[2026-06-18 10:29:14] local.INFO: Warm-up updated {"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"round_number":"2/3"} 
[2026-06-18 10:29:14] local.INFO: Existing warmup record: {"dailyWarmup":{"id":104,"class_id":152,"member_id":2,"warmup_id":null,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"reps":0,"date":"18/06/26 Thursday","created_at":"2026-06-18T10:29:14.000000Z","updated_at":"2026-06-18T10:29:14.000000Z","exercise_time":"11:59","round_number":"1/3","notes":null}} 
[2026-06-18 10:29:14] local.INFO: Warm-up updated {"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"round_number":"2/3"} 
[2026-06-18 10:29:14] local.INFO: Existing warmup record: {"dailyWarmup":{"id":105,"class_id":152,"member_id":2,"warmup_id":null,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"reps":0,"date":"18/06/26 Thursday","created_at":"2026-06-18T10:29:14.000000Z","updated_at":"2026-06-18T10:29:14.000000Z","exercise_time":"11:59","round_number":"1/3","notes":null}} 
[2026-06-18 10:29:14] local.INFO: Warm-up updated {"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"round_number":"2/3"} 
[2026-06-18 10:29:15] local.INFO: storewarmupdaily function called.  
[2026-06-18 10:29:15] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 10:29:15] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":215,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":79,"reps":0,"round_number":"3/3","exercise_time":"11:59","date":"18/06/26 Thursday","status":null,"class_Id":152},{"workout_manager_id":215,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":80,"reps":0,"round_number":"3/3","exercise_time":"11:59","date":"18/06/26 Thursday","status":null,"class_Id":152},{"workout_manager_id":215,"workout_type":"warmup","workout_format_type":"amrap","workout_format_id":81,"reps":0,"round_number":"3/3","exercise_time":"11:59","date":"18/06/26 Thursday","status":null,"class_Id":152}]} 
[2026-06-18 10:29:15] local.INFO: Existing warmup record: {"dailyWarmup":{"id":103,"class_id":152,"member_id":2,"warmup_id":null,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"reps":0,"date":"18/06/26 Thursday","created_at":"2026-06-18T10:29:14.000000Z","updated_at":"2026-06-18T10:29:14.000000Z","exercise_time":"11:59","round_number":"2/3","notes":null}} 
[2026-06-18 10:29:15] local.INFO: Warm-up updated {"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":79,"round_number":"3/3"} 
[2026-06-18 10:29:15] local.INFO: Existing warmup record: {"dailyWarmup":{"id":104,"class_id":152,"member_id":2,"warmup_id":null,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"reps":0,"date":"18/06/26 Thursday","created_at":"2026-06-18T10:29:14.000000Z","updated_at":"2026-06-18T10:29:14.000000Z","exercise_time":"11:59","round_number":"2/3","notes":null}} 
[2026-06-18 10:29:15] local.INFO: Warm-up updated {"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":80,"round_number":"3/3"} 
[2026-06-18 10:29:15] local.INFO: Existing warmup record: {"dailyWarmup":{"id":105,"class_id":152,"member_id":2,"warmup_id":null,"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"reps":0,"date":"18/06/26 Thursday","created_at":"2026-06-18T10:29:14.000000Z","updated_at":"2026-06-18T10:29:14.000000Z","exercise_time":"11:59","round_number":"2/3","notes":null}} 
[2026-06-18 10:29:15] local.INFO: Warm-up updated {"workout_manager_id":215,"workout_format_type":"amrap","workout_format_id":81,"round_number":"3/3"} 
[2026-06-18 20:16:24] local.INFO: mobile login pin : 1234  
[2026-06-18 20:16:29] local.INFO: mobile login pin : 3333  
[2026-06-18 20:16:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:16:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:16:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:16:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:16:58] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:16:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:16:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:16:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 20:16:58] local.WARNING: [getWorkouts] No workout assignments found {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:17:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:17:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:03] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:17:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:17:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 20:17:03] local.WARNING: [getWorkouts] No workout assignments found {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:17:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:17:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:04] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:17:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:17:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 20:17:04] local.WARNING: [getWorkouts] No workout assignments found {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:06] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:06] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:17:06] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:17:06] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:06] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:17:06] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:17:06] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:06] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 20:17:06] local.WARNING: [getWorkouts] No workout assignments found {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:17:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:17:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:34] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:17:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:17:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 20:17:34] local.WARNING: [getWorkouts] No workout assignments found {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:41] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:41] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:17:41] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:17:41] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:41] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:17:41] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:17:41] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:17:41] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":0,"workout_ids":[],"types":[]} 
[2026-06-18 20:17:41] local.WARNING: [getWorkouts] No workout assignments found {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:22:06] local.INFO: Tab value: all  
[2026-06-18 20:22:07] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 20:22:07] local.INFO: Saved type row accessory  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row accessory  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row strength  
[2026-06-18 20:22:07] local.INFO: Saved type row accessory  
[2026-06-18 20:22:07] local.INFO: Saved type row strength  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row strength  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row strength  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row accessory  
[2026-06-18 20:22:07] local.INFO: Saved type row accessory  
[2026-06-18 20:22:07] local.INFO: Saved type row accessory  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row strength  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row accessory  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row accessory  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row strength  
[2026-06-18 20:22:07] local.INFO: Saved type row accessory  
[2026-06-18 20:22:07] local.INFO: Saved type row strength  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row strength  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row strength  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row accessory  
[2026-06-18 20:22:07] local.INFO: Saved type row accessory  
[2026-06-18 20:22:07] local.INFO: Saved type row accessory  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row strength  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row conditioning  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row weightlifting  
[2026-06-18 20:22:07] local.INFO: Saved type row warmup  
[2026-06-18 20:23:50] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 20:23:50] local.INFO: Saved type row accessory  
[2026-06-18 20:23:50] local.INFO: Saved type row warmup  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row warmup  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row accessory  
[2026-06-18 20:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 20:23:50] local.INFO: Saved type row warmup  
[2026-06-18 20:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row strength  
[2026-06-18 20:23:50] local.INFO: Saved type row accessory  
[2026-06-18 20:23:50] local.INFO: Saved type row strength  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row strength  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row warmup  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row warmup  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row strength  
[2026-06-18 20:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 20:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 20:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 20:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row accessory  
[2026-06-18 20:23:50] local.INFO: Saved type row accessory  
[2026-06-18 20:23:50] local.INFO: Saved type row accessory  
[2026-06-18 20:23:50] local.INFO: Saved type row warmup  
[2026-06-18 20:23:50] local.INFO: Saved type row warmup  
[2026-06-18 20:23:50] local.INFO: Saved type row warmup  
[2026-06-18 20:23:50] local.INFO: Saved type row warmup  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row strength  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row conditioning  
[2026-06-18 20:23:50] local.INFO: Saved type row warmup  
[2026-06-18 20:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 20:23:50] local.INFO: Saved type row weightlifting  
[2026-06-18 20:23:50] local.INFO: Saved type row warmup  
[2026-06-18 20:24:04] local.INFO: assignWorkoutToClass:  {"workout_id":217,"class_id":336,"type":"workout_manager","action":"assign","date":"19/06/26 Friday"} 
[2026-06-18 20:24:04] local.INFO: Saved type row accessory  
[2026-06-18 20:24:04] local.INFO: Saved type row warmup  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row warmup  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row accessory  
[2026-06-18 20:24:04] local.INFO: Saved type row weightlifting  
[2026-06-18 20:24:04] local.INFO: Saved type row warmup  
[2026-06-18 20:24:04] local.INFO: Saved type row weightlifting  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row strength  
[2026-06-18 20:24:04] local.INFO: Saved type row accessory  
[2026-06-18 20:24:04] local.INFO: Saved type row strength  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row strength  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row warmup  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row warmup  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row strength  
[2026-06-18 20:24:04] local.INFO: Saved type row weightlifting  
[2026-06-18 20:24:04] local.INFO: Saved type row weightlifting  
[2026-06-18 20:24:04] local.INFO: Saved type row weightlifting  
[2026-06-18 20:24:04] local.INFO: Saved type row weightlifting  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row accessory  
[2026-06-18 20:24:04] local.INFO: Saved type row accessory  
[2026-06-18 20:24:04] local.INFO: Saved type row accessory  
[2026-06-18 20:24:04] local.INFO: Saved type row warmup  
[2026-06-18 20:24:04] local.INFO: Saved type row warmup  
[2026-06-18 20:24:04] local.INFO: Saved type row warmup  
[2026-06-18 20:24:04] local.INFO: Saved type row warmup  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row strength  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row conditioning  
[2026-06-18 20:24:04] local.INFO: Saved type row warmup  
[2026-06-18 20:24:04] local.INFO: Saved type row weightlifting  
[2026-06-18 20:24:04] local.INFO: Saved type row weightlifting  
[2026-06-18 20:24:04] local.INFO: Saved type row warmup  
[2026-06-18 20:24:04] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[217],"types":["warmup"]} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217]} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[217],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-18 20:24:51] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:24:51] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:24:51] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:24:51] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":105,"workout_manager_id":220,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"18/06/26 Thursday","weight":227.0,"unit_type":"kg","created_at":"2026-06-18T07:08:34.000000Z","updated_at":"2026-06-18T07:08:34.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[217],"types":["warmup"]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[217],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:24:52] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":105,"workout_manager_id":220,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"18/06/26 Thursday","weight":227.0,"unit_type":"kg","created_at":"2026-06-18T07:08:34.000000Z","updated_at":"2026-06-18T07:08:34.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[217],"types":["warmup"]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[217],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:24:52] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":105,"workout_manager_id":220,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"18/06/26 Thursday","weight":227.0,"unit_type":"kg","created_at":"2026-06-18T07:08:34.000000Z","updated_at":"2026-06-18T07:08:34.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[217],"types":["warmup"]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[217],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-18 20:24:52] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:24:52] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:24:52] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":105,"workout_manager_id":220,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"18/06/26 Thursday","weight":227.0,"unit_type":"kg","created_at":"2026-06-18T07:08:34.000000Z","updated_at":"2026-06-18T07:08:34.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[217],"types":["warmup"]} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217]} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[217],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-18 20:24:53] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:24:53] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:24:53] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:24:53] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":105,"workout_manager_id":220,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"18/06/26 Thursday","weight":227.0,"unit_type":"kg","created_at":"2026-06-18T07:08:34.000000Z","updated_at":"2026-06-18T07:08:34.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[217],"types":["warmup"]} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217]} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[217],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-18 20:25:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:25:01] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:25:01] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:25:01] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":105,"workout_manager_id":220,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"18/06/26 Thursday","weight":227.0,"unit_type":"kg","created_at":"2026-06-18T07:08:34.000000Z","updated_at":"2026-06-18T07:08:34.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":19,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105]} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":105,"weight":227.0,"unit_type":"kg","date":"18/06/26 Thursday","test_created_at":"2026-06-18 07:08:34"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[217],"types":["warmup"]} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217]} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[217],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-18 20:25:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:25:15] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:25:15] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:25:15] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":105,"workout_manager_id":220,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"18/06/26 Thursday","weight":227.0,"unit_type":"kg","created_at":"2026-06-18T07:08:34.000000Z","updated_at":"2026-06-18T07:08:34.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":1,"workout_ids":[217],"types":["warmup"]} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217]} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":1,"ids":[217],"types":["Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":2,"rows_with_lib_id":2,"rows_matched":0,"rows_not_matched":2,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":1},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":1},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":1},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":1},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":1},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":1},"straights":{"seen":2,"matched":0,"not_matched":2,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":1},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":1}}} 
[2026-06-18 20:27:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:27:00] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:00] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:00] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:27:07] local.INFO: assignWorkoutToClass:  {"workout_id":214,"class_id":336,"type":"workout_manager","action":"assign","date":"19/06/26 Friday"} 
[2026-06-18 20:27:08] local.INFO: Saved type row accessory  
[2026-06-18 20:27:08] local.INFO: Saved type row warmup  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row warmup  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row accessory  
[2026-06-18 20:27:08] local.INFO: Saved type row weightlifting  
[2026-06-18 20:27:08] local.INFO: Saved type row warmup  
[2026-06-18 20:27:08] local.INFO: Saved type row weightlifting  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row strength  
[2026-06-18 20:27:08] local.INFO: Saved type row accessory  
[2026-06-18 20:27:08] local.INFO: Saved type row strength  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row strength  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row warmup  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row warmup  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row strength  
[2026-06-18 20:27:08] local.INFO: Saved type row weightlifting  
[2026-06-18 20:27:08] local.INFO: Saved type row weightlifting  
[2026-06-18 20:27:08] local.INFO: Saved type row weightlifting  
[2026-06-18 20:27:08] local.INFO: Saved type row weightlifting  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row accessory  
[2026-06-18 20:27:08] local.INFO: Saved type row accessory  
[2026-06-18 20:27:08] local.INFO: Saved type row accessory  
[2026-06-18 20:27:08] local.INFO: Saved type row warmup  
[2026-06-18 20:27:08] local.INFO: Saved type row warmup  
[2026-06-18 20:27:08] local.INFO: Saved type row warmup  
[2026-06-18 20:27:08] local.INFO: Saved type row warmup  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row strength  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row conditioning  
[2026-06-18 20:27:08] local.INFO: Saved type row warmup  
[2026-06-18 20:27:08] local.INFO: Saved type row weightlifting  
[2026-06-18 20:27:08] local.INFO: Saved type row weightlifting  
[2026-06-18 20:27:08] local.INFO: Saved type row warmup  
[2026-06-18 20:27:08] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[217,214],"types":["warmup","conditioning"]} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,214]} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[214,217],"types":["Conditioning","Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 20:27:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:27:12] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:12] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:12] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[217,214],"types":["warmup","conditioning"]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,214]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[214,217],"types":["Conditioning","Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:27:13] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[217,214],"types":["warmup","conditioning"]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,214]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[214,217],"types":["Conditioning","Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:27:13] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[217,214],"types":["warmup","conditioning"]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,214]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[214,217],"types":["Conditioning","Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:27:13] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[217,214],"types":["warmup","conditioning"]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,214]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[214,217],"types":["Conditioning","Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 20:27:13] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:27:13] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:13] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[217,214],"types":["warmup","conditioning"]} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[217,214]} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[214,217],"types":["Conditioning","Warmup"],"formats":["straight-sets"]} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":95,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":217,"relation":"straights","format_row_id":96,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":8,"completed":0,"status":0} 
[2026-06-18 20:27:15] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":7,"completed":0,"status":0} 
[2026-06-18 20:27:15] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:15] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 20:27:15] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 20:30:16] local.INFO: storeconditioningdaily function called.  
[2026-06-18 20:30:16] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 20:30:16] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":214,"workout_format_type":"straight-sets","workout_format_id":290,"reps":8,"weight":0,"date":"19/06/26 Friday","set_number":1,"class_Id":336}]} 
[2026-06-18 20:30:16] local.INFO: Conditioning saved successfully {"workout_manager_id":214} 
[2026-06-18 21:35:45] local.INFO: Tab value: all  
[2026-06-18 21:35:46] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 21:35:46] local.INFO: Saved type row strength  
[2026-06-18 21:35:46] local.INFO: Saved type row accessory  
[2026-06-18 21:35:46] local.INFO: Saved type row warmup  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row warmup  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row accessory  
[2026-06-18 21:35:46] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:46] local.INFO: Saved type row warmup  
[2026-06-18 21:35:46] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row strength  
[2026-06-18 21:35:46] local.INFO: Saved type row accessory  
[2026-06-18 21:35:46] local.INFO: Saved type row strength  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row strength  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row warmup  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row warmup  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row strength  
[2026-06-18 21:35:46] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:46] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:46] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:46] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row accessory  
[2026-06-18 21:35:46] local.INFO: Saved type row accessory  
[2026-06-18 21:35:46] local.INFO: Saved type row accessory  
[2026-06-18 21:35:46] local.INFO: Saved type row warmup  
[2026-06-18 21:35:46] local.INFO: Saved type row warmup  
[2026-06-18 21:35:46] local.INFO: Saved type row warmup  
[2026-06-18 21:35:46] local.INFO: Saved type row warmup  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row strength  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:46] local.INFO: Saved type row warmup  
[2026-06-18 21:35:46] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:46] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:46] local.INFO: Saved type row warmup  
[2026-06-18 21:35:47] local.INFO: Saved type row strength  
[2026-06-18 21:35:47] local.INFO: Saved type row accessory  
[2026-06-18 21:35:47] local.INFO: Saved type row warmup  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row warmup  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row accessory  
[2026-06-18 21:35:47] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:47] local.INFO: Saved type row warmup  
[2026-06-18 21:35:47] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row strength  
[2026-06-18 21:35:47] local.INFO: Saved type row accessory  
[2026-06-18 21:35:47] local.INFO: Saved type row strength  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row strength  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row warmup  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row warmup  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row strength  
[2026-06-18 21:35:47] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:47] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:47] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:47] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row accessory  
[2026-06-18 21:35:47] local.INFO: Saved type row accessory  
[2026-06-18 21:35:47] local.INFO: Saved type row accessory  
[2026-06-18 21:35:47] local.INFO: Saved type row warmup  
[2026-06-18 21:35:47] local.INFO: Saved type row warmup  
[2026-06-18 21:35:47] local.INFO: Saved type row warmup  
[2026-06-18 21:35:47] local.INFO: Saved type row warmup  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row strength  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:47] local.INFO: Saved type row warmup  
[2026-06-18 21:35:47] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:47] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:47] local.INFO: Saved type row warmup  
[2026-06-18 21:35:54] local.INFO: assignWorkoutToClass:  {"workout_id":217,"class_id":336,"type":"workout_manager","action":"unassign","date":"19/06/26 Friday"} 
[2026-06-18 21:35:55] local.INFO: Saved type row strength  
[2026-06-18 21:35:55] local.INFO: Saved type row accessory  
[2026-06-18 21:35:55] local.INFO: Saved type row warmup  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row warmup  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row accessory  
[2026-06-18 21:35:55] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:55] local.INFO: Saved type row warmup  
[2026-06-18 21:35:55] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row strength  
[2026-06-18 21:35:55] local.INFO: Saved type row accessory  
[2026-06-18 21:35:55] local.INFO: Saved type row strength  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row strength  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row warmup  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row warmup  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row strength  
[2026-06-18 21:35:55] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:55] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:55] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:55] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row accessory  
[2026-06-18 21:35:55] local.INFO: Saved type row accessory  
[2026-06-18 21:35:55] local.INFO: Saved type row accessory  
[2026-06-18 21:35:55] local.INFO: Saved type row warmup  
[2026-06-18 21:35:55] local.INFO: Saved type row warmup  
[2026-06-18 21:35:55] local.INFO: Saved type row warmup  
[2026-06-18 21:35:55] local.INFO: Saved type row warmup  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row strength  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row conditioning  
[2026-06-18 21:35:55] local.INFO: Saved type row warmup  
[2026-06-18 21:35:55] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:55] local.INFO: Saved type row weightlifting  
[2026-06-18 21:35:55] local.INFO: Saved type row warmup  
[2026-06-18 21:35:55] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 21:36:51] local.INFO: Tab value: all  
[2026-06-18 21:36:52] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row strength  
[2026-06-18 21:36:52] local.INFO: Saved type row accessory  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row accessory  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row strength  
[2026-06-18 21:36:52] local.INFO: Saved type row accessory  
[2026-06-18 21:36:52] local.INFO: Saved type row strength  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row strength  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row strength  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row accessory  
[2026-06-18 21:36:52] local.INFO: Saved type row accessory  
[2026-06-18 21:36:52] local.INFO: Saved type row accessory  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row strength  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row strength  
[2026-06-18 21:36:52] local.INFO: Saved type row accessory  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row accessory  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row strength  
[2026-06-18 21:36:52] local.INFO: Saved type row accessory  
[2026-06-18 21:36:52] local.INFO: Saved type row strength  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row strength  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row strength  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row accessory  
[2026-06-18 21:36:52] local.INFO: Saved type row accessory  
[2026-06-18 21:36:52] local.INFO: Saved type row accessory  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row strength  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row conditioning  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row weightlifting  
[2026-06-18 21:36:52] local.INFO: Saved type row warmup  
[2026-06-18 21:37:39] local.INFO: Tab value: all  
[2026-06-18 21:37:39] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 21:37:39] local.INFO: Saved type row warmup  
[2026-06-18 21:37:39] local.INFO: Saved type row strength  
[2026-06-18 21:37:39] local.INFO: Saved type row accessory  
[2026-06-18 21:37:39] local.INFO: Saved type row warmup  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row warmup  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row accessory  
[2026-06-18 21:37:39] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:39] local.INFO: Saved type row warmup  
[2026-06-18 21:37:39] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row strength  
[2026-06-18 21:37:39] local.INFO: Saved type row accessory  
[2026-06-18 21:37:39] local.INFO: Saved type row strength  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row strength  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row warmup  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row warmup  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row strength  
[2026-06-18 21:37:39] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:39] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:39] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:39] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row accessory  
[2026-06-18 21:37:39] local.INFO: Saved type row accessory  
[2026-06-18 21:37:39] local.INFO: Saved type row accessory  
[2026-06-18 21:37:39] local.INFO: Saved type row warmup  
[2026-06-18 21:37:39] local.INFO: Saved type row warmup  
[2026-06-18 21:37:39] local.INFO: Saved type row warmup  
[2026-06-18 21:37:39] local.INFO: Saved type row warmup  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row strength  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:39] local.INFO: Saved type row warmup  
[2026-06-18 21:37:39] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:39] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:39] local.INFO: Saved type row warmup  
[2026-06-18 21:37:40] local.INFO: Saved type row warmup  
[2026-06-18 21:37:40] local.INFO: Saved type row strength  
[2026-06-18 21:37:40] local.INFO: Saved type row accessory  
[2026-06-18 21:37:40] local.INFO: Saved type row warmup  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row warmup  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row accessory  
[2026-06-18 21:37:40] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:40] local.INFO: Saved type row warmup  
[2026-06-18 21:37:40] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row strength  
[2026-06-18 21:37:40] local.INFO: Saved type row accessory  
[2026-06-18 21:37:40] local.INFO: Saved type row strength  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row strength  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row warmup  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row warmup  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row strength  
[2026-06-18 21:37:40] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:40] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:40] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:40] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row accessory  
[2026-06-18 21:37:40] local.INFO: Saved type row accessory  
[2026-06-18 21:37:40] local.INFO: Saved type row accessory  
[2026-06-18 21:37:40] local.INFO: Saved type row warmup  
[2026-06-18 21:37:40] local.INFO: Saved type row warmup  
[2026-06-18 21:37:40] local.INFO: Saved type row warmup  
[2026-06-18 21:37:40] local.INFO: Saved type row warmup  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row strength  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row conditioning  
[2026-06-18 21:37:40] local.INFO: Saved type row warmup  
[2026-06-18 21:37:40] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:40] local.INFO: Saved type row weightlifting  
[2026-06-18 21:37:40] local.INFO: Saved type row warmup  
[2026-06-18 21:38:06] local.INFO: Tab value: all  
[2026-06-18 21:38:07] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 21:38:07] local.INFO: Saved type row warmup  
[2026-06-18 21:38:07] local.INFO: Saved type row strength  
[2026-06-18 21:38:07] local.INFO: Saved type row accessory  
[2026-06-18 21:38:07] local.INFO: Saved type row warmup  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row warmup  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row accessory  
[2026-06-18 21:38:07] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:07] local.INFO: Saved type row warmup  
[2026-06-18 21:38:07] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row strength  
[2026-06-18 21:38:07] local.INFO: Saved type row accessory  
[2026-06-18 21:38:07] local.INFO: Saved type row strength  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row strength  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row warmup  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row warmup  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row strength  
[2026-06-18 21:38:07] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:07] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:07] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:07] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row accessory  
[2026-06-18 21:38:07] local.INFO: Saved type row accessory  
[2026-06-18 21:38:07] local.INFO: Saved type row accessory  
[2026-06-18 21:38:07] local.INFO: Saved type row warmup  
[2026-06-18 21:38:07] local.INFO: Saved type row warmup  
[2026-06-18 21:38:07] local.INFO: Saved type row warmup  
[2026-06-18 21:38:07] local.INFO: Saved type row warmup  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row strength  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:07] local.INFO: Saved type row warmup  
[2026-06-18 21:38:07] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:07] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:07] local.INFO: Saved type row warmup  
[2026-06-18 21:38:08] local.INFO: Saved type row warmup  
[2026-06-18 21:38:08] local.INFO: Saved type row strength  
[2026-06-18 21:38:08] local.INFO: Saved type row accessory  
[2026-06-18 21:38:08] local.INFO: Saved type row warmup  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row warmup  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row accessory  
[2026-06-18 21:38:08] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:08] local.INFO: Saved type row warmup  
[2026-06-18 21:38:08] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row strength  
[2026-06-18 21:38:08] local.INFO: Saved type row accessory  
[2026-06-18 21:38:08] local.INFO: Saved type row strength  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row strength  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row warmup  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row warmup  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row strength  
[2026-06-18 21:38:08] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:08] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:08] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:08] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row accessory  
[2026-06-18 21:38:08] local.INFO: Saved type row accessory  
[2026-06-18 21:38:08] local.INFO: Saved type row accessory  
[2026-06-18 21:38:08] local.INFO: Saved type row warmup  
[2026-06-18 21:38:08] local.INFO: Saved type row warmup  
[2026-06-18 21:38:08] local.INFO: Saved type row warmup  
[2026-06-18 21:38:08] local.INFO: Saved type row warmup  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row strength  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row conditioning  
[2026-06-18 21:38:08] local.INFO: Saved type row warmup  
[2026-06-18 21:38:08] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:08] local.INFO: Saved type row weightlifting  
[2026-06-18 21:38:08] local.INFO: Saved type row warmup  
[2026-06-18 21:40:14] local.INFO: AMRAP row processing {"managerId":224,"index":"1","exercise":"Goblet Squat","workout_library_id":62} 
[2026-06-18 21:40:14] local.INFO: Saved AMRAP row 1  
[2026-06-18 21:40:14] local.INFO: AMRAP row processing {"managerId":224,"index":"2","exercise":"Romanian Deadlift","workout_library_id":72} 
[2026-06-18 21:40:14] local.INFO: Saved AMRAP row 2  
[2026-06-18 21:40:18] local.INFO: Tab value: all  
[2026-06-18 21:40:18] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row warmup  
[2026-06-18 21:40:18] local.INFO: Saved type row strength  
[2026-06-18 21:40:18] local.INFO: Saved type row accessory  
[2026-06-18 21:40:18] local.INFO: Saved type row warmup  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row warmup  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row accessory  
[2026-06-18 21:40:18] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:18] local.INFO: Saved type row warmup  
[2026-06-18 21:40:18] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row strength  
[2026-06-18 21:40:18] local.INFO: Saved type row accessory  
[2026-06-18 21:40:18] local.INFO: Saved type row strength  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row strength  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row warmup  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row warmup  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row strength  
[2026-06-18 21:40:18] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:18] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:18] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:18] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row accessory  
[2026-06-18 21:40:18] local.INFO: Saved type row accessory  
[2026-06-18 21:40:18] local.INFO: Saved type row accessory  
[2026-06-18 21:40:18] local.INFO: Saved type row warmup  
[2026-06-18 21:40:18] local.INFO: Saved type row warmup  
[2026-06-18 21:40:18] local.INFO: Saved type row warmup  
[2026-06-18 21:40:18] local.INFO: Saved type row warmup  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row strength  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:18] local.INFO: Saved type row warmup  
[2026-06-18 21:40:18] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:18] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:18] local.INFO: Saved type row warmup  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row warmup  
[2026-06-18 21:40:19] local.INFO: Saved type row strength  
[2026-06-18 21:40:19] local.INFO: Saved type row accessory  
[2026-06-18 21:40:19] local.INFO: Saved type row warmup  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row warmup  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row accessory  
[2026-06-18 21:40:19] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:19] local.INFO: Saved type row warmup  
[2026-06-18 21:40:19] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row strength  
[2026-06-18 21:40:19] local.INFO: Saved type row accessory  
[2026-06-18 21:40:19] local.INFO: Saved type row strength  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row strength  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row warmup  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row warmup  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row strength  
[2026-06-18 21:40:19] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:19] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:19] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:19] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row accessory  
[2026-06-18 21:40:19] local.INFO: Saved type row accessory  
[2026-06-18 21:40:19] local.INFO: Saved type row accessory  
[2026-06-18 21:40:19] local.INFO: Saved type row warmup  
[2026-06-18 21:40:19] local.INFO: Saved type row warmup  
[2026-06-18 21:40:19] local.INFO: Saved type row warmup  
[2026-06-18 21:40:19] local.INFO: Saved type row warmup  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row strength  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:19] local.INFO: Saved type row warmup  
[2026-06-18 21:40:19] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:19] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:19] local.INFO: Saved type row warmup  
[2026-06-18 21:40:56] local.INFO: Tab value: all  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row strength  
[2026-06-18 21:40:57] local.INFO: Saved type row accessory  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row accessory  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row strength  
[2026-06-18 21:40:57] local.INFO: Saved type row accessory  
[2026-06-18 21:40:57] local.INFO: Saved type row strength  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row strength  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row strength  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row accessory  
[2026-06-18 21:40:57] local.INFO: Saved type row accessory  
[2026-06-18 21:40:57] local.INFO: Saved type row accessory  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 21:40:57] local.INFO: Saved type row strength  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row strength  
[2026-06-18 21:40:57] local.INFO: Saved type row accessory  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row accessory  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row strength  
[2026-06-18 21:40:57] local.INFO: Saved type row accessory  
[2026-06-18 21:40:57] local.INFO: Saved type row strength  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row strength  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row strength  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row accessory  
[2026-06-18 21:40:57] local.INFO: Saved type row accessory  
[2026-06-18 21:40:57] local.INFO: Saved type row accessory  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row strength  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row conditioning  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row weightlifting  
[2026-06-18 21:40:57] local.INFO: Saved type row warmup  
[2026-06-18 21:42:19] local.INFO: AMRAP row processing {"managerId":224,"index":"1","exercise":"Goblet Squat","workout_library_id":62} 
[2026-06-18 21:42:19] local.INFO: Saved AMRAP row 1  
[2026-06-18 21:42:19] local.INFO: AMRAP row processing {"managerId":224,"index":"2","exercise":"Romanian Deadlift","workout_library_id":72} 
[2026-06-18 21:42:19] local.INFO: Saved AMRAP row 2  
[2026-06-18 21:42:19] local.INFO: AMRAP row processing {"managerId":224,"index":"3","exercise":"Copenhagen plank","workout_library_id":159} 
[2026-06-18 21:42:19] local.INFO: Saved AMRAP row 3  
[2026-06-18 21:42:19] local.INFO: AMRAP row processing {"managerId":224,"index":"4","exercise":"Hex bar deadlift","workout_library_id":78} 
[2026-06-18 21:42:19] local.INFO: Saved AMRAP row 4  
[2026-06-18 21:42:19] local.INFO: AMRAP row processing {"managerId":224,"index":"5","exercise":"Box jump","workout_library_id":103} 
[2026-06-18 21:42:19] local.INFO: Saved AMRAP row 5  
[2026-06-18 21:42:22] local.INFO: Tab value: all  
[2026-06-18 21:42:22] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row strength  
[2026-06-18 21:42:23] local.INFO: Saved type row accessory  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row accessory  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row strength  
[2026-06-18 21:42:23] local.INFO: Saved type row accessory  
[2026-06-18 21:42:23] local.INFO: Saved type row strength  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row strength  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row strength  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row accessory  
[2026-06-18 21:42:23] local.INFO: Saved type row accessory  
[2026-06-18 21:42:23] local.INFO: Saved type row accessory  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row strength  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row strength  
[2026-06-18 21:42:23] local.INFO: Saved type row accessory  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row accessory  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row strength  
[2026-06-18 21:42:23] local.INFO: Saved type row accessory  
[2026-06-18 21:42:23] local.INFO: Saved type row strength  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row strength  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row strength  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row accessory  
[2026-06-18 21:42:23] local.INFO: Saved type row accessory  
[2026-06-18 21:42:23] local.INFO: Saved type row accessory  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row strength  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:23] local.INFO: Saved type row warmup  
[2026-06-18 21:42:27] local.INFO: assignWorkoutToClass:  {"workout_id":224,"class_id":336,"type":"workout_manager","action":"assign","date":"19/06/26 Friday"} 
[2026-06-18 21:42:27] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row warmup  
[2026-06-18 21:42:27] local.INFO: Saved type row strength  
[2026-06-18 21:42:27] local.INFO: Saved type row accessory  
[2026-06-18 21:42:27] local.INFO: Saved type row warmup  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row warmup  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row accessory  
[2026-06-18 21:42:27] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:27] local.INFO: Saved type row warmup  
[2026-06-18 21:42:27] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row strength  
[2026-06-18 21:42:27] local.INFO: Saved type row accessory  
[2026-06-18 21:42:27] local.INFO: Saved type row strength  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row strength  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row warmup  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row warmup  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row strength  
[2026-06-18 21:42:27] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:27] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:27] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:27] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row accessory  
[2026-06-18 21:42:27] local.INFO: Saved type row accessory  
[2026-06-18 21:42:27] local.INFO: Saved type row accessory  
[2026-06-18 21:42:27] local.INFO: Saved type row warmup  
[2026-06-18 21:42:27] local.INFO: Saved type row warmup  
[2026-06-18 21:42:27] local.INFO: Saved type row warmup  
[2026-06-18 21:42:27] local.INFO: Saved type row warmup  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row strength  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:27] local.INFO: Saved type row warmup  
[2026-06-18 21:42:27] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:27] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:27] local.INFO: Saved type row warmup  
[2026-06-18 21:42:32] local.INFO: assignWorkoutToClass:  {"workout_id":223,"class_id":336,"type":"workout_manager","action":"assign","date":"19/06/26 Friday"} 
[2026-06-18 21:42:32] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row warmup  
[2026-06-18 21:42:32] local.INFO: Saved type row strength  
[2026-06-18 21:42:32] local.INFO: Saved type row accessory  
[2026-06-18 21:42:32] local.INFO: Saved type row warmup  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row warmup  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row accessory  
[2026-06-18 21:42:32] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:32] local.INFO: Saved type row warmup  
[2026-06-18 21:42:32] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row strength  
[2026-06-18 21:42:32] local.INFO: Saved type row accessory  
[2026-06-18 21:42:32] local.INFO: Saved type row strength  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row strength  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row warmup  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row warmup  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row strength  
[2026-06-18 21:42:32] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:32] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:32] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:32] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row accessory  
[2026-06-18 21:42:32] local.INFO: Saved type row accessory  
[2026-06-18 21:42:32] local.INFO: Saved type row accessory  
[2026-06-18 21:42:32] local.INFO: Saved type row warmup  
[2026-06-18 21:42:32] local.INFO: Saved type row warmup  
[2026-06-18 21:42:32] local.INFO: Saved type row warmup  
[2026-06-18 21:42:32] local.INFO: Saved type row warmup  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row strength  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:32] local.INFO: Saved type row warmup  
[2026-06-18 21:42:32] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:32] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:32] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: assignWorkoutToClass:  {"workout_id":222,"class_id":336,"type":"workout_manager","action":"assign","date":"19/06/26 Friday"} 
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: Saved type row strength  
[2026-06-18 21:42:37] local.INFO: Saved type row accessory  
[2026-06-18 21:42:37] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row accessory  
[2026-06-18 21:42:37] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:37] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row strength  
[2026-06-18 21:42:37] local.INFO: Saved type row accessory  
[2026-06-18 21:42:37] local.INFO: Saved type row strength  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row strength  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row strength  
[2026-06-18 21:42:37] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:37] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:37] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:37] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row accessory  
[2026-06-18 21:42:37] local.INFO: Saved type row accessory  
[2026-06-18 21:42:37] local.INFO: Saved type row accessory  
[2026-06-18 21:42:37] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row strength  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row conditioning  
[2026-06-18 21:42:37] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:37] local.INFO: Saved type row weightlifting  
[2026-06-18 21:42:37] local.INFO: Saved type row warmup  
[2026-06-18 21:42:37] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-18 22:00:39] local.INFO: mobile login pin : 1234  
[2026-06-18 22:00:46] local.INFO: mobile login pin : 3333  
[2026-06-18 22:00:54] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[224,214,223,222],"types":["conditioning","warmup","strength"]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[224,214,223,222]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[214,222,223,224],"types":["Conditioning","Strength","Warmup"],"formats":["straight-sets","rounds","amrap"]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":97,"workout_libraries_id":141,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":98,"workout_libraries_id":151,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":125,"workout_libraries_id":63,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":126,"workout_libraries_id":158,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":84,"workout_libraries_id":62,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":85,"workout_libraries_id":72,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":86,"workout_libraries_id":159,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":87,"workout_libraries_id":78,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":88,"workout_libraries_id":103,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":0,"not_matched":2,"empty":3},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:00:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":84,"class_id":336,"round_entries":[]} 
[2026-06-18 22:00:54] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:00:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":85,"class_id":336,"round_entries":[]} 
[2026-06-18 22:00:54] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:00:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":86,"class_id":336,"round_entries":[]} 
[2026-06-18 22:00:54] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:00:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":87,"class_id":336,"round_entries":[]} 
[2026-06-18 22:00:54] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:00:54] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":88,"class_id":336,"round_entries":[]} 
[2026-06-18 22:00:54] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":13,"completed":1,"status":0} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-18 22:00:54] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":0,"status":0} 
[2026-06-18 22:00:54] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 22:00:54] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 22:00:54] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 22:03:41] local.INFO: mobile login pin : 1234  
[2026-06-18 22:03:45] local.INFO: mobile login pin : 3333  
[2026-06-18 22:04:01] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[224,214,223,222],"types":["conditioning","warmup","strength"]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[224,214,223,222]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[214,222,223,224],"types":["Conditioning","Strength","Warmup"],"formats":["straight-sets","rounds","amrap"]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":97,"workout_libraries_id":141,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":98,"workout_libraries_id":151,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":125,"workout_libraries_id":63,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":126,"workout_libraries_id":158,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":84,"workout_libraries_id":62,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":85,"workout_libraries_id":72,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":86,"workout_libraries_id":159,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":87,"workout_libraries_id":78,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":88,"workout_libraries_id":103,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":0,"not_matched":2,"empty":3},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:04:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":84,"class_id":336,"round_entries":[]} 
[2026-06-18 22:04:01] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:04:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":85,"class_id":336,"round_entries":[]} 
[2026-06-18 22:04:01] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:04:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":86,"class_id":336,"round_entries":[]} 
[2026-06-18 22:04:01] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:04:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":87,"class_id":336,"round_entries":[]} 
[2026-06-18 22:04:01] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:04:01] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":88,"class_id":336,"round_entries":[]} 
[2026-06-18 22:04:01] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":13,"completed":1,"status":0} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-18 22:04:01] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":0,"status":0} 
[2026-06-18 22:04:01] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 22:04:01] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 22:04:01] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 22:06:57] local.INFO: storewarmupdaily function called.  
[2026-06-18 22:06:57] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 22:06:57] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":125,"reps":0,"set_number":1,"round_number":"1/2","weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"19/06/26 Friday","class_Id":336}]} 
[2026-06-18 22:06:57] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-18 22:06:57] local.INFO: New warm-up created {"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":125,"round_number":"1/2"} 
[2026-06-18 22:06:57] local.INFO: storewarmupdaily function called.  
[2026-06-18 22:06:57] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 22:06:57] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":126,"reps":0,"set_number":1,"round_number":"1/2","weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"19/06/26 Friday","class_Id":336}]} 
[2026-06-18 22:06:57] local.INFO: Existing warmup record: {"dailyWarmup":null} 
[2026-06-18 22:06:57] local.INFO: New warm-up created {"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":126,"round_number":"1/2"} 
[2026-06-18 22:09:33] local.INFO: storewarmupdaily function called.  
[2026-06-18 22:09:33] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 22:09:33] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":125,"reps":0,"set_number":2,"round_number":"2/2","weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"19/06/26 Friday","class_Id":336}]} 
[2026-06-18 22:09:33] local.INFO: Existing warmup record: {"dailyWarmup":{"id":106,"class_id":336,"member_id":2,"warmup_id":null,"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":125,"reps":0,"date":"19/06/26 Friday","created_at":"2026-06-18T22:06:57.000000Z","updated_at":"2026-06-18T22:06:57.000000Z","exercise_time":"00:00","round_number":"1/2","notes":null}} 
[2026-06-18 22:09:33] local.INFO: Warm-up updated {"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":125,"round_number":"2/2"} 
[2026-06-18 22:09:34] local.INFO: storewarmupdaily function called.  
[2026-06-18 22:09:34] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 22:09:34] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":126,"reps":0,"set_number":2,"round_number":"2/2","weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"19/06/26 Friday","class_Id":336}]} 
[2026-06-18 22:09:34] local.INFO: Existing warmup record: {"dailyWarmup":{"id":107,"class_id":336,"member_id":2,"warmup_id":null,"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":126,"reps":0,"date":"19/06/26 Friday","created_at":"2026-06-18T22:06:57.000000Z","updated_at":"2026-06-18T22:06:57.000000Z","exercise_time":"00:00","round_number":"1/2","notes":null}} 
[2026-06-18 22:09:34] local.INFO: Warm-up updated {"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":126,"round_number":"2/2"} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[224,214,223,222],"types":["conditioning","warmup","strength"]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[224,214,223,222]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[214,222,223,224],"types":["Conditioning","Strength","Warmup"],"formats":["straight-sets","rounds","amrap"]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":97,"workout_libraries_id":141,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":98,"workout_libraries_id":151,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":125,"workout_libraries_id":63,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":126,"workout_libraries_id":158,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":84,"workout_libraries_id":62,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":85,"workout_libraries_id":72,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":86,"workout_libraries_id":159,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":87,"workout_libraries_id":78,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":88,"workout_libraries_id":103,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":0,"not_matched":2,"empty":3},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":125,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":126,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":84,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:34] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":85,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:34] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":86,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:34] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":87,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:34] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:34] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":88,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:34] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":13,"completed":1,"status":0} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-18 22:09:34] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":2,"status":1} 
[2026-06-18 22:09:34] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 22:09:34] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 22:09:34] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 22:09:36] local.INFO: storewarmupdaily function called.  
[2026-06-18 22:09:36] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 22:09:36] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":125,"reps":12,"set_number":2,"round_number":"2/2","weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"19/06/26 Friday","class_Id":336}]} 
[2026-06-18 22:09:36] local.INFO: Existing warmup record: {"dailyWarmup":{"id":106,"class_id":336,"member_id":2,"warmup_id":null,"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":125,"reps":0,"date":"19/06/26 Friday","created_at":"2026-06-18T22:06:57.000000Z","updated_at":"2026-06-18T22:09:33.000000Z","exercise_time":"00:00","round_number":"2/2","notes":null}} 
[2026-06-18 22:09:36] local.INFO: Warm-up updated {"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":125,"round_number":"2/2"} 
[2026-06-18 22:09:37] local.INFO: storewarmupdaily function called.  
[2026-06-18 22:09:37] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 22:09:37] local.INFO: Received warmup payload: {"warmupItems":[{"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":126,"reps":15,"set_number":2,"round_number":"2/2","weight":null,"exercise_time":"00:00","notes":null,"status":null,"date":"19/06/26 Friday","class_Id":336}]} 
[2026-06-18 22:09:37] local.INFO: Existing warmup record: {"dailyWarmup":{"id":107,"class_id":336,"member_id":2,"warmup_id":null,"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":126,"reps":0,"date":"19/06/26 Friday","created_at":"2026-06-18T22:06:57.000000Z","updated_at":"2026-06-18T22:09:34.000000Z","exercise_time":"00:00","round_number":"2/2","notes":null}} 
[2026-06-18 22:09:37] local.INFO: Warm-up updated {"workout_manager_id":223,"workout_format_type":"rounds","workout_format_id":126,"round_number":"2/2"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[224,214,223,222],"types":["conditioning","warmup","strength"]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[224,214,223,222]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[214,222,223,224],"types":["Conditioning","Strength","Warmup"],"formats":["straight-sets","rounds","amrap"]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":97,"workout_libraries_id":141,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":98,"workout_libraries_id":151,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":125,"workout_libraries_id":63,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":126,"workout_libraries_id":158,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":84,"workout_libraries_id":62,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":85,"workout_libraries_id":72,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":86,"workout_libraries_id":159,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":87,"workout_libraries_id":78,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":88,"workout_libraries_id":103,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":0,"not_matched":2,"empty":3},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":125,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":126,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":84,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":85,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":86,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":87,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":88,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":13,"completed":1,"status":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":2,"status":1} 
[2026-06-18 22:09:37] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[224,214,223,222],"types":["conditioning","warmup","strength"]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[224,214,223,222]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[214,222,223,224],"types":["Conditioning","Strength","Warmup"],"formats":["straight-sets","rounds","amrap"]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":97,"workout_libraries_id":141,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":98,"workout_libraries_id":151,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":125,"workout_libraries_id":63,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":126,"workout_libraries_id":158,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":84,"workout_libraries_id":62,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":85,"workout_libraries_id":72,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":86,"workout_libraries_id":159,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":87,"workout_libraries_id":78,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":88,"workout_libraries_id":103,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":0,"not_matched":2,"empty":3},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":125,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":126,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":84,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":85,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":86,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":87,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:09:37] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":88,"class_id":336,"round_entries":[]} 
[2026-06-18 22:09:37] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":13,"completed":1,"status":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-18 22:09:37] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":2,"status":1} 
[2026-06-18 22:09:37] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 22:09:37] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 22:18:12] local.INFO: storestrengthdaily function called.  
[2026-06-18 22:18:12] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 22:18:12] local.INFO: Received strength payload: {"strengthItems":[{"workout_manager_id":222,"workout_format_type":"straight-sets","workout_format_id":338,"reps":5,"weight":0,"date":"19/06/26 Friday","set_number":1,"class_Id":336}]} 
[2026-06-18 22:18:12] local.INFO: Existing strength record: {"dailyStrength":null} 
[2026-06-18 22:18:12] local.INFO: New strength record created {"workout_manager_id":222,"set_number":1} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[224,214,223,222],"types":["conditioning","warmup","strength"]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[224,214,223,222]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[214,222,223,224],"types":["Conditioning","Strength","Warmup"],"formats":["straight-sets","rounds","amrap"]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":97,"workout_libraries_id":141,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":98,"workout_libraries_id":151,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":125,"workout_libraries_id":63,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":126,"workout_libraries_id":158,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":84,"workout_libraries_id":62,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":85,"workout_libraries_id":72,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":86,"workout_libraries_id":159,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":87,"workout_libraries_id":78,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":88,"workout_libraries_id":103,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":0,"not_matched":2,"empty":3},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":125,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":126,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":84,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":85,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":86,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":87,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:08] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":88,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:08] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":13,"completed":1,"status":0} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":1,"status":0} 
[2026-06-18 22:25:08] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":2,"status":1} 
[2026-06-18 22:25:08] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 22:25:08] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 22:25:08] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[224,214,223,222],"types":["conditioning","warmup","strength"]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[224,214,223,222]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[214,222,223,224],"types":["Conditioning","Strength","Warmup"],"formats":["straight-sets","rounds","amrap"]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":97,"workout_libraries_id":141,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":98,"workout_libraries_id":151,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":125,"workout_libraries_id":63,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":126,"workout_libraries_id":158,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":84,"workout_libraries_id":62,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":85,"workout_libraries_id":72,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":86,"workout_libraries_id":159,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":87,"workout_libraries_id":78,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":88,"workout_libraries_id":103,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":0,"not_matched":2,"empty":3},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":125,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":126,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":84,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:10] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":85,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:10] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":86,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:10] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":87,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:10] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:10] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":88,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:10] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":13,"completed":1,"status":0} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":1,"status":0} 
[2026-06-18 22:25:10] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":2,"status":1} 
[2026-06-18 22:25:10] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 22:25:10] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 22:25:10] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[224,214,223,222],"types":["conditioning","warmup","strength"]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":4,"workout_ids":[224,214,223,222],"types":["conditioning","warmup","strength"]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[224,214,223,222]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[224,214,223,222]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[214,222,223,224],"types":["Conditioning","Strength","Warmup"],"formats":["straight-sets","rounds","amrap"]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":97,"workout_libraries_id":141,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":98,"workout_libraries_id":151,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":125,"workout_libraries_id":63,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":126,"workout_libraries_id":158,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":84,"workout_libraries_id":62,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":85,"workout_libraries_id":72,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":86,"workout_libraries_id":159,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":87,"workout_libraries_id":78,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":88,"workout_libraries_id":103,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":0,"not_matched":2,"empty":3},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":4,"ids":[214,222,223,224],"types":["Conditioning","Strength","Warmup"],"formats":["straight-sets","rounds","amrap"]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":97,"workout_libraries_id":141,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":222,"relation":"straights","format_row_id":98,"workout_libraries_id":151,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":125,"workout_libraries_id":63,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":223,"relation":"rounds","format_row_id":126,"workout_libraries_id":158,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":84,"workout_libraries_id":62,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":85,"workout_libraries_id":72,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":86,"workout_libraries_id":159,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":87,"workout_libraries_id":78,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":224,"relation":"amraps","format_row_id":88,"workout_libraries_id":103,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":11,"rows_with_lib_id":11,"rows_matched":1,"rows_not_matched":10,"missing_lib_id":0,"per_relation":{"rounds":{"seen":2,"matched":0,"not_matched":2,"empty":3},"amraps":{"seen":5,"matched":0,"not_matched":5,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":4},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":4},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":4},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":4},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":2},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":4},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":4}}} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":125,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":126,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":84,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":85,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":86,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":87,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":88,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":13,"completed":1,"status":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":1,"status":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":2,"status":1} 
[2026-06-18 22:25:12] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":125,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Format Check] {"item":"Unknown","table":"App\\Models\\DailyWarmup","workout_manager_id":223,"workout_format_id":126,"exists":true,"isCompleted":true,"round_number":"2/2","query_date":"19/06/26 Friday","db_date":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":84,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":85,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":86,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":87,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Check][AMRAP] Processing format item  
[2026-06-18 22:25:12] local.INFO: Retrieved round entries {"member_id":2,"workout_manager_id":224,"workout_format_type":"amrap","workout_format_id":88,"class_id":336,"round_entries":[]} 
[2026-06-18 22:25:12] local.INFO: Updated rounds done/total {"rounds_done":0,"rounds_total":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":13,"completed":1,"status":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":1,"status":0} 
[2026-06-18 22:25:12] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":2,"completed":2,"status":1} 
[2026-06-18 22:25:12] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-18 22:25:12] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-18 22:25:33] local.INFO: storeconditioningdaily function called.  
[2026-06-18 22:25:33] local.INFO: Authenticated user ID: 2, Member ID: 2  
[2026-06-18 22:25:33] local.INFO: Received conditioning payload: {"conditioningItems":[{"workout_manager_id":214,"workout_format_type":"straight-sets","workout_format_id":286,"reps":3,"weight":132.25,"date":"19/06/26 Friday","set_number":1,"notes":null,"class_Id":336},{"workout_manager_id":214,"workout_format_type":"straight-sets","workout_format_id":287,"reps":3,"weight":151.25,"date":"19/06/26 Friday","set_number":2,"notes":null,"class_Id":336},{"workout_manager_id":214,"workout_format_type":"straight-sets","workout_format_id":288,"reps":3,"weight":170,"date":"19/06/26 Friday","set_number":3,"notes":null,"class_Id":336},{"workout_manager_id":214,"workout_format_type":"straight-sets","workout_format_id":289,"reps":3,"weight":189,"date":"19/06/26 Friday","set_number":4,"notes":null,"class_Id":336},{"workout_manager_id":214,"workout_format_type":"straight-sets","workout_format_id":290,"reps":8,"weight":0,"date":"19/06/26 Friday","set_number":1,"notes":null,"class_Id":336},{"workout_manager_id":214,"workout_format_type":"straight-sets","workout_format_id":291,"reps":8,"weight":0,"date":"19/06/26 Friday","set_number":2,"notes":null,"class_Id":336},{"workout_manager_id":214,"workout_format_type":"straight-sets","workout_format_id":292,"reps":8,"weight":0,"date":"19/06/26 Friday","set_number":3,"notes":null,"class_Id":336},{"workout_manager_id":214,"workout_format_type":"straight-sets","workout_format_id":293,"reps":8,"weight":0,"date":"19/06/26 Friday","set_number":4,"notes":null,"class_Id":336}]} 
[2026-06-18 22:25:33] local.INFO: Conditioning saved successfully {"workout_manager_id":214} 
[2026-06-18 22:25:33] local.INFO: Conditioning saved successfully {"workout_manager_id":214} 
[2026-06-18 22:25:33] local.INFO: Conditioning saved successfully {"workout_manager_id":214} 
[2026-06-18 22:25:33] local.INFO: Conditioning saved successfully {"workout_manager_id":214} 
[2026-06-18 22:25:33] local.INFO: Conditioning updated successfully {"workout_manager_id":214} 
[2026-06-18 22:25:33] local.INFO: Conditioning saved successfully {"workout_manager_id":214} 
[2026-06-18 22:25:33] local.INFO: Conditioning saved successfully {"workout_manager_id":214} 
[2026-06-18 22:25:33] local.INFO: Conditioning saved successfully {"workout_manager_id":214} 
[2026-06-19 00:09:49] local.INFO: Tab value: all  
[2026-06-19 00:09:50] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row strength  
[2026-06-19 00:09:50] local.INFO: Saved type row accessory  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row accessory  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row strength  
[2026-06-19 00:09:50] local.INFO: Saved type row accessory  
[2026-06-19 00:09:50] local.INFO: Saved type row strength  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row strength  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row strength  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row accessory  
[2026-06-19 00:09:50] local.INFO: Saved type row accessory  
[2026-06-19 00:09:50] local.INFO: Saved type row accessory  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row strength  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row strength  
[2026-06-19 00:09:50] local.INFO: Saved type row accessory  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row accessory  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row strength  
[2026-06-19 00:09:50] local.INFO: Saved type row accessory  
[2026-06-19 00:09:50] local.INFO: Saved type row strength  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row strength  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row strength  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row accessory  
[2026-06-19 00:09:50] local.INFO: Saved type row accessory  
[2026-06-19 00:09:50] local.INFO: Saved type row accessory  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row strength  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row conditioning  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row weightlifting  
[2026-06-19 00:09:50] local.INFO: Saved type row warmup  
[2026-06-19 05:32:34] local.INFO: Tab value: all  
[2026-06-19 05:32:34] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row strength  
[2026-06-19 05:32:35] local.INFO: Saved type row accessory  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row accessory  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row strength  
[2026-06-19 05:32:35] local.INFO: Saved type row accessory  
[2026-06-19 05:32:35] local.INFO: Saved type row strength  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row strength  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row strength  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row accessory  
[2026-06-19 05:32:35] local.INFO: Saved type row accessory  
[2026-06-19 05:32:35] local.INFO: Saved type row accessory  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row strength  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row strength  
[2026-06-19 05:32:35] local.INFO: Saved type row accessory  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row accessory  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row strength  
[2026-06-19 05:32:35] local.INFO: Saved type row accessory  
[2026-06-19 05:32:35] local.INFO: Saved type row strength  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row strength  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row strength  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row accessory  
[2026-06-19 05:32:35] local.INFO: Saved type row accessory  
[2026-06-19 05:32:35] local.INFO: Saved type row accessory  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row strength  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row conditioning  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row weightlifting  
[2026-06-19 05:32:35] local.INFO: Saved type row warmup  
[2026-06-19 06:04:08] local.INFO: mobile login pin : 1234  
[2026-06-19 06:04:12] local.INFO: mobile login pin : 3333  
[2026-06-19 06:15:27] local.INFO: Tab value: all  
[2026-06-19 06:15:27] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row warmup  
[2026-06-19 06:15:27] local.INFO: Saved type row strength  
[2026-06-19 06:15:27] local.INFO: Saved type row accessory  
[2026-06-19 06:15:27] local.INFO: Saved type row warmup  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row warmup  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row accessory  
[2026-06-19 06:15:27] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:27] local.INFO: Saved type row warmup  
[2026-06-19 06:15:27] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row strength  
[2026-06-19 06:15:27] local.INFO: Saved type row accessory  
[2026-06-19 06:15:27] local.INFO: Saved type row strength  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row strength  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row warmup  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row warmup  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row strength  
[2026-06-19 06:15:27] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:27] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:27] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:27] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row accessory  
[2026-06-19 06:15:27] local.INFO: Saved type row accessory  
[2026-06-19 06:15:27] local.INFO: Saved type row accessory  
[2026-06-19 06:15:27] local.INFO: Saved type row warmup  
[2026-06-19 06:15:27] local.INFO: Saved type row warmup  
[2026-06-19 06:15:27] local.INFO: Saved type row warmup  
[2026-06-19 06:15:27] local.INFO: Saved type row warmup  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row strength  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:27] local.INFO: Saved type row warmup  
[2026-06-19 06:15:27] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:27] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:27] local.INFO: Saved type row warmup  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row warmup  
[2026-06-19 06:15:28] local.INFO: Saved type row strength  
[2026-06-19 06:15:28] local.INFO: Saved type row accessory  
[2026-06-19 06:15:28] local.INFO: Saved type row warmup  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row warmup  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row accessory  
[2026-06-19 06:15:28] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:28] local.INFO: Saved type row warmup  
[2026-06-19 06:15:28] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row strength  
[2026-06-19 06:15:28] local.INFO: Saved type row accessory  
[2026-06-19 06:15:28] local.INFO: Saved type row strength  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row strength  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row warmup  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row warmup  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row strength  
[2026-06-19 06:15:28] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:28] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:28] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:28] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row accessory  
[2026-06-19 06:15:28] local.INFO: Saved type row accessory  
[2026-06-19 06:15:28] local.INFO: Saved type row accessory  
[2026-06-19 06:15:28] local.INFO: Saved type row warmup  
[2026-06-19 06:15:28] local.INFO: Saved type row warmup  
[2026-06-19 06:15:28] local.INFO: Saved type row warmup  
[2026-06-19 06:15:28] local.INFO: Saved type row warmup  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row strength  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row conditioning  
[2026-06-19 06:15:28] local.INFO: Saved type row warmup  
[2026-06-19 06:15:28] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:28] local.INFO: Saved type row weightlifting  
[2026-06-19 06:15:28] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Tab value: all  
[2026-06-19 06:17:42] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row accessory  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row accessory  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row accessory  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row accessory  
[2026-06-19 06:17:42] local.INFO: Saved type row accessory  
[2026-06-19 06:17:42] local.INFO: Saved type row accessory  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row accessory  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row accessory  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row accessory  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row accessory  
[2026-06-19 06:17:42] local.INFO: Saved type row accessory  
[2026-06-19 06:17:42] local.INFO: Saved type row accessory  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row strength  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:42] local.INFO: Saved type row warmup  
[2026-06-19 06:17:56] local.INFO: assignWorkoutToClass:  {"workout_id":224,"class_id":336,"type":"workout_manager","action":"unassign","date":"19/06/26 Friday"} 
[2026-06-19 06:17:57] local.INFO: Saved type row strength  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row warmup  
[2026-06-19 06:17:57] local.INFO: Saved type row strength  
[2026-06-19 06:17:57] local.INFO: Saved type row accessory  
[2026-06-19 06:17:57] local.INFO: Saved type row warmup  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row warmup  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row accessory  
[2026-06-19 06:17:57] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:57] local.INFO: Saved type row warmup  
[2026-06-19 06:17:57] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row strength  
[2026-06-19 06:17:57] local.INFO: Saved type row accessory  
[2026-06-19 06:17:57] local.INFO: Saved type row strength  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row strength  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row warmup  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row warmup  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row strength  
[2026-06-19 06:17:57] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:57] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:57] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:57] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row accessory  
[2026-06-19 06:17:57] local.INFO: Saved type row accessory  
[2026-06-19 06:17:57] local.INFO: Saved type row accessory  
[2026-06-19 06:17:57] local.INFO: Saved type row warmup  
[2026-06-19 06:17:57] local.INFO: Saved type row warmup  
[2026-06-19 06:17:57] local.INFO: Saved type row warmup  
[2026-06-19 06:17:57] local.INFO: Saved type row warmup  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row strength  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row conditioning  
[2026-06-19 06:17:57] local.INFO: Saved type row warmup  
[2026-06-19 06:17:57] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:57] local.INFO: Saved type row weightlifting  
[2026-06-19 06:17:57] local.INFO: Saved type row warmup  
[2026-06-19 06:17:57] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-19 06:18:01] local.INFO: assignWorkoutToClass:  {"workout_id":223,"class_id":336,"type":"workout_manager","action":"unassign","date":"19/06/26 Friday"} 
[2026-06-19 06:18:02] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-19 06:18:02] local.INFO: Saved type row strength  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row warmup  
[2026-06-19 06:18:02] local.INFO: Saved type row strength  
[2026-06-19 06:18:02] local.INFO: Saved type row accessory  
[2026-06-19 06:18:02] local.INFO: Saved type row warmup  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row warmup  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row accessory  
[2026-06-19 06:18:02] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:02] local.INFO: Saved type row warmup  
[2026-06-19 06:18:02] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row strength  
[2026-06-19 06:18:02] local.INFO: Saved type row accessory  
[2026-06-19 06:18:02] local.INFO: Saved type row strength  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row strength  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row warmup  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row warmup  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row strength  
[2026-06-19 06:18:02] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:02] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:02] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:02] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row accessory  
[2026-06-19 06:18:02] local.INFO: Saved type row accessory  
[2026-06-19 06:18:02] local.INFO: Saved type row accessory  
[2026-06-19 06:18:02] local.INFO: Saved type row warmup  
[2026-06-19 06:18:02] local.INFO: Saved type row warmup  
[2026-06-19 06:18:02] local.INFO: Saved type row warmup  
[2026-06-19 06:18:02] local.INFO: Saved type row warmup  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row strength  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:02] local.INFO: Saved type row warmup  
[2026-06-19 06:18:02] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:02] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:02] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: assignWorkoutToClass:  {"workout_id":222,"class_id":336,"type":"workout_manager","action":"unassign","date":"19/06/26 Friday"} 
[2026-06-19 06:18:07] local.INFO: Saved type row strength  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: Saved type row strength  
[2026-06-19 06:18:07] local.INFO: Saved type row accessory  
[2026-06-19 06:18:07] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row accessory  
[2026-06-19 06:18:07] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:07] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row strength  
[2026-06-19 06:18:07] local.INFO: Saved type row accessory  
[2026-06-19 06:18:07] local.INFO: Saved type row strength  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row strength  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row strength  
[2026-06-19 06:18:07] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:07] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:07] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:07] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row accessory  
[2026-06-19 06:18:07] local.INFO: Saved type row accessory  
[2026-06-19 06:18:07] local.INFO: Saved type row accessory  
[2026-06-19 06:18:07] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row strength  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:07] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:07] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:07] local.INFO: Saved type row warmup  
[2026-06-19 06:18:07] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-19 06:18:15] local.INFO: assignWorkoutToClass:  {"workout_id":225,"class_id":336,"type":"workout_manager","action":"assign","date":"19/06/26 Friday"} 
[2026-06-19 06:18:15] local.INFO: Saved type row strength  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row warmup  
[2026-06-19 06:18:15] local.INFO: Saved type row strength  
[2026-06-19 06:18:15] local.INFO: Saved type row accessory  
[2026-06-19 06:18:15] local.INFO: Saved type row warmup  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row warmup  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row accessory  
[2026-06-19 06:18:15] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:15] local.INFO: Saved type row warmup  
[2026-06-19 06:18:15] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row strength  
[2026-06-19 06:18:15] local.INFO: Saved type row accessory  
[2026-06-19 06:18:15] local.INFO: Saved type row strength  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row strength  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row warmup  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row warmup  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row strength  
[2026-06-19 06:18:15] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:15] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:15] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:15] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row accessory  
[2026-06-19 06:18:15] local.INFO: Saved type row accessory  
[2026-06-19 06:18:15] local.INFO: Saved type row accessory  
[2026-06-19 06:18:15] local.INFO: Saved type row warmup  
[2026-06-19 06:18:15] local.INFO: Saved type row warmup  
[2026-06-19 06:18:15] local.INFO: Saved type row warmup  
[2026-06-19 06:18:15] local.INFO: Saved type row warmup  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row strength  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row conditioning  
[2026-06-19 06:18:15] local.INFO: Saved type row warmup  
[2026-06-19 06:18:15] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:15] local.INFO: Saved type row weightlifting  
[2026-06-19 06:18:15] local.INFO: Saved type row warmup  
[2026-06-19 06:18:16] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-19 06:20:22] local.INFO: Tab value: all  
[2026-06-19 06:20:23] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row accessory  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row accessory  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row accessory  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row accessory  
[2026-06-19 06:20:23] local.INFO: Saved type row accessory  
[2026-06-19 06:20:23] local.INFO: Saved type row accessory  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row accessory  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row accessory  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row accessory  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row accessory  
[2026-06-19 06:20:23] local.INFO: Saved type row accessory  
[2026-06-19 06:20:23] local.INFO: Saved type row accessory  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row strength  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:23] local.INFO: Saved type row warmup  
[2026-06-19 06:20:39] local.INFO: Tab value: all  
[2026-06-19 06:20:39] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row accessory  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row accessory  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row accessory  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row accessory  
[2026-06-19 06:20:40] local.INFO: Saved type row accessory  
[2026-06-19 06:20:40] local.INFO: Saved type row accessory  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row accessory  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row accessory  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row accessory  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row accessory  
[2026-06-19 06:20:40] local.INFO: Saved type row accessory  
[2026-06-19 06:20:40] local.INFO: Saved type row accessory  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row strength  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:40] local.INFO: Saved type row warmup  
[2026-06-19 06:20:47] local.INFO: assignWorkoutToClass:  {"workout_id":226,"class_id":336,"type":"workout_manager","action":"assign","date":"19/06/26 Friday"} 
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row strength  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row warmup  
[2026-06-19 06:20:47] local.INFO: Saved type row strength  
[2026-06-19 06:20:47] local.INFO: Saved type row accessory  
[2026-06-19 06:20:47] local.INFO: Saved type row warmup  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row warmup  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row accessory  
[2026-06-19 06:20:47] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:47] local.INFO: Saved type row warmup  
[2026-06-19 06:20:47] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row strength  
[2026-06-19 06:20:47] local.INFO: Saved type row accessory  
[2026-06-19 06:20:47] local.INFO: Saved type row strength  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row strength  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row warmup  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row warmup  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row strength  
[2026-06-19 06:20:47] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:47] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:47] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:47] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row accessory  
[2026-06-19 06:20:47] local.INFO: Saved type row accessory  
[2026-06-19 06:20:47] local.INFO: Saved type row accessory  
[2026-06-19 06:20:47] local.INFO: Saved type row warmup  
[2026-06-19 06:20:47] local.INFO: Saved type row warmup  
[2026-06-19 06:20:47] local.INFO: Saved type row warmup  
[2026-06-19 06:20:47] local.INFO: Saved type row warmup  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row strength  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row conditioning  
[2026-06-19 06:20:47] local.INFO: Saved type row warmup  
[2026-06-19 06:20:47] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:47] local.INFO: Saved type row weightlifting  
[2026-06-19 06:20:47] local.INFO: Saved type row warmup  
[2026-06-19 06:20:48] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-19 06:21:03] local.INFO: mobile login pin : 1234  
[2026-06-19 06:21:07] local.INFO: mobile login pin : 3333  
[2026-06-19 06:21:20] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[214,226,225],"types":["conditioning","strength"]} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[214,226,225]} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[214,225,226],"types":["Conditioning","Strength"],"formats":["straight-sets"]} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":225,"relation":"straights","format_row_id":99,"workout_libraries_id":118,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":225,"relation":"straights","format_row_id":100,"workout_libraries_id":54,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":103,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":104,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":6,"matched":1,"not_matched":5,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":20,"completed":8,"status":0} 
[2026-06-19 06:21:20] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-19 06:21:20] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-19 06:21:20] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-19 06:21:20] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[214,226,225],"types":["conditioning","strength"]} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[214,226,225]} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[214,225,226],"types":["Conditioning","Strength"],"formats":["straight-sets"]} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":225,"relation":"straights","format_row_id":99,"workout_libraries_id":118,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":225,"relation":"straights","format_row_id":100,"workout_libraries_id":54,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":103,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":104,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":6,"matched":1,"not_matched":5,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":20,"completed":8,"status":0} 
[2026-06-19 06:21:23] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-19 06:21:23] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-19 06:21:23] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-19 06:21:23] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":20,"library_ids":[21,32,16,17,35,42,116,64],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106]} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[214,226,225],"types":["conditioning","strength"]} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[214,226,225]} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[214,225,226],"types":["Conditioning","Strength"],"formats":["straight-sets"]} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":225,"relation":"straights","format_row_id":99,"workout_libraries_id":118,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":225,"relation":"straights","format_row_id":100,"workout_libraries_id":54,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":103,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":104,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64]} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":1,"rows_not_matched":5,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":6,"matched":1,"not_matched":5,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":20,"completed":8,"status":0} 
[2026-06-19 06:21:27] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-19 06:21:27] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-19 06:21:27] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-19 06:21:27] local.INFO: Tests retrieved {"count":8,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":21,"library_ids":[21,32,16,17,35,42,116,64,118],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106,107]} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64,118],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[214,226,225],"types":["conditioning","strength"]} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[214,226,225]} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[214,225,226],"types":["Conditioning","Strength"],"formats":["straight-sets"]} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":225,"relation":"straights","format_row_id":99,"workout_libraries_id":118,"attached_test_id":107,"attached_test_weight":155.0,"attached_unit_type":"kg","row_data":{"id":99,"workout_manager_id":225,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","test_weight":155.0,"test_unit_type":"kg","test_id":107,"test_created_at":"2026-06-19 06:21:58","format_row_id":99,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":350,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":60,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":351,"workout_libraries_id":118,"straight_id":99,"res":0,"training_load":65,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":352,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":70,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":353,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":354,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":355,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":225,"relation":"straights","format_row_id":100,"workout_libraries_id":54,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":103,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":104,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:21:58] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":6,"matched":2,"not_matched":4,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-19 06:21:59] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":20,"completed":8,"status":0} 
[2026-06-19 06:21:59] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-19 06:21:59] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-19 06:21:59] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-19 06:21:59] local.INFO: Tests retrieved {"count":9,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":107,"workout_manager_id":227,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":2,"date":"19/06/26 Friday","weight":155.0,"unit_type":"kg","created_at":"2026-06-19T06:21:58.000000Z","updated_at":"2026-06-19T06:21:58.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":21,"library_ids":[21,32,16,17,35,42,116,64,118],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106,107]} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64,118],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[214,226,225],"types":["conditioning","strength"]} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[214,226,225]} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[214,225,226],"types":["Conditioning","Strength"],"formats":["straight-sets"]} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":225,"relation":"straights","format_row_id":99,"workout_libraries_id":118,"attached_test_id":107,"attached_test_weight":155.0,"attached_unit_type":"kg","row_data":{"id":99,"workout_manager_id":225,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","test_weight":155.0,"test_unit_type":"kg","test_id":107,"test_created_at":"2026-06-19 06:21:58","format_row_id":99,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":350,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":60,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":351,"workout_libraries_id":118,"straight_id":99,"res":0,"training_load":65,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":352,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":70,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":353,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":354,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":355,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":225,"relation":"straights","format_row_id":100,"workout_libraries_id":54,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":103,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":104,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":6,"matched":2,"not_matched":4,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":20,"completed":8,"status":0} 
[2026-06-19 06:22:03] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-19 06:22:03] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-19 06:22:03] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-19 06:22:03] local.INFO: Tests retrieved {"count":9,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":107,"workout_manager_id":227,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":2,"date":"19/06/26 Friday","weight":155.0,"unit_type":"kg","created_at":"2026-06-19T06:21:58.000000Z","updated_at":"2026-06-19T06:21:58.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":21,"library_ids":[21,32,16,17,35,42,116,64,118],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106,107]} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64,118],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[214,226,225],"types":["conditioning","strength"]} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[214,226,225]} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[214,225,226],"types":["Conditioning","Strength"],"formats":["straight-sets"]} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":225,"relation":"straights","format_row_id":99,"workout_libraries_id":118,"attached_test_id":107,"attached_test_weight":155.0,"attached_unit_type":"kg","row_data":{"id":99,"workout_manager_id":225,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","test_weight":155.0,"test_unit_type":"kg","test_id":107,"test_created_at":"2026-06-19 06:21:58","format_row_id":99,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":350,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":60,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":351,"workout_libraries_id":118,"straight_id":99,"res":0,"training_load":65,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":352,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":70,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":353,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":354,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":355,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":225,"relation":"straights","format_row_id":100,"workout_libraries_id":54,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":103,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":104,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:23:17] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":6,"matched":2,"not_matched":4,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-19 06:23:18] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":20,"completed":8,"status":0} 
[2026-06-19 06:23:18] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-19 06:23:18] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-19 06:23:18] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-19 06:23:18] local.INFO: Tests retrieved {"count":9,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":107,"workout_manager_id":227,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":2,"date":"19/06/26 Friday","weight":155.0,"unit_type":"kg","created_at":"2026-06-19T06:21:58.000000Z","updated_at":"2026-06-19T06:21:58.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":21,"library_ids":[21,32,16,17,35,42,116,64,118],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106,107]} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64,118],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[214,226,225],"types":["conditioning","strength"]} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[214,226,225]} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[214,225,226],"types":["Conditioning","Strength"],"formats":["straight-sets"]} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":225,"relation":"straights","format_row_id":99,"workout_libraries_id":118,"attached_test_id":107,"attached_test_weight":155.0,"attached_unit_type":"kg","row_data":{"id":99,"workout_manager_id":225,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","test_weight":155.0,"test_unit_type":"kg","test_id":107,"test_created_at":"2026-06-19 06:21:58","format_row_id":99,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":350,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":60,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":351,"workout_libraries_id":118,"straight_id":99,"res":0,"training_load":65,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":352,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":70,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":353,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":354,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":355,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":225,"relation":"straights","format_row_id":100,"workout_libraries_id":54,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":103,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":104,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":6,"matched":2,"not_matched":4,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":20,"completed":8,"status":0} 
[2026-06-19 06:24:02] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-19 06:24:02] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-19 06:24:02] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-19 06:24:02] local.INFO: Tests retrieved {"count":9,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":107,"workout_manager_id":227,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":2,"date":"19/06/26 Friday","weight":155.0,"unit_type":"kg","created_at":"2026-06-19T06:21:58.000000Z","updated_at":"2026-06-19T06:21:58.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":21,"library_ids":[21,32,16,17,35,42,116,64,118],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106,107]} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64,118],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":3,"workout_ids":[214,226,225],"types":["conditioning","strength"]} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[214,226,225]} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":3,"ids":[214,225,226],"types":["Conditioning","Strength"],"formats":["straight-sets"]} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":214,"relation":"straights","format_row_id":85,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":85,"workout_manager_id":214,"workout_libraries_id":17,"training_load":90,"unit_type":"%","reps":3,"created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":85,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":286,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":287,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":288,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"},{"id":289,"workout_libraries_id":17,"straight_id":85,"res":3,"training_load":90,"unittype":"%","created_at":"2026-06-18T02:00:53.000000Z","updated_at":"2026-06-18T02:00:53.000000Z","restred":"00:00:15","restyellow":"00:00:15","restgreen":"00:00:15"}]}} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":214,"relation":"straights","format_row_id":86,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":225,"relation":"straights","format_row_id":99,"workout_libraries_id":118,"attached_test_id":107,"attached_test_weight":155.0,"attached_unit_type":"kg","row_data":{"id":99,"workout_manager_id":225,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","test_weight":155.0,"test_unit_type":"kg","test_id":107,"test_created_at":"2026-06-19 06:21:58","format_row_id":99,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":350,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":60,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":351,"workout_libraries_id":118,"straight_id":99,"res":0,"training_load":65,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":352,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":70,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":353,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":354,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":355,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":225,"relation":"straights","format_row_id":100,"workout_libraries_id":54,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":103,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":104,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":6,"rows_with_lib_id":6,"rows_matched":2,"rows_not_matched":4,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":3},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":3},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":3},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":3},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":3},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":3},"straights":{"seen":6,"matched":2,"not_matched":4,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":3},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":3}}} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":20,"completed":8,"status":0} 
[2026-06-19 06:24:04] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-19 06:24:04] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-19 06:24:04] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-19 06:24:04] local.INFO: Tests retrieved {"count":9,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":107,"workout_manager_id":227,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":2,"date":"19/06/26 Friday","weight":155.0,"unit_type":"kg","created_at":"2026-06-19T06:21:58.000000Z","updated_at":"2026-06-19T06:21:58.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-19 06:24:16] local.INFO: assignWorkoutToClass:  {"workout_id":214,"class_id":336,"type":"workout_manager","action":"unassign","date":"19/06/26 Friday"} 
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row strength  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row warmup  
[2026-06-19 06:24:17] local.INFO: Saved type row strength  
[2026-06-19 06:24:17] local.INFO: Saved type row accessory  
[2026-06-19 06:24:17] local.INFO: Saved type row warmup  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row warmup  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row accessory  
[2026-06-19 06:24:17] local.INFO: Saved type row weightlifting  
[2026-06-19 06:24:17] local.INFO: Saved type row warmup  
[2026-06-19 06:24:17] local.INFO: Saved type row weightlifting  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row strength  
[2026-06-19 06:24:17] local.INFO: Saved type row accessory  
[2026-06-19 06:24:17] local.INFO: Saved type row strength  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row strength  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row warmup  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row warmup  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row strength  
[2026-06-19 06:24:17] local.INFO: Saved type row weightlifting  
[2026-06-19 06:24:17] local.INFO: Saved type row weightlifting  
[2026-06-19 06:24:17] local.INFO: Saved type row weightlifting  
[2026-06-19 06:24:17] local.INFO: Saved type row weightlifting  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row accessory  
[2026-06-19 06:24:17] local.INFO: Saved type row accessory  
[2026-06-19 06:24:17] local.INFO: Saved type row accessory  
[2026-06-19 06:24:17] local.INFO: Saved type row warmup  
[2026-06-19 06:24:17] local.INFO: Saved type row warmup  
[2026-06-19 06:24:17] local.INFO: Saved type row warmup  
[2026-06-19 06:24:17] local.INFO: Saved type row warmup  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row strength  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row conditioning  
[2026-06-19 06:24:17] local.INFO: Saved type row warmup  
[2026-06-19 06:24:17] local.INFO: Saved type row weightlifting  
[2026-06-19 06:24:17] local.INFO: Saved type row weightlifting  
[2026-06-19 06:24:17] local.INFO: Saved type row warmup  
[2026-06-19 06:24:17] local.INFO: Day received: {"day":"19/06/26 Friday"} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"19/06/26 Friday","date_obj":"2026-06-19"} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":336,"date_string":"19/06/26 Friday","patterns":["19/06/26 Friday","19/06/26","19/06/2026","19/06/26 Friday","19/06/2026 Friday","Friday 19/06/26","Friday 19/06/2026"]} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":21,"library_ids":[21,32,16,17,35,42,116,64,118],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106,107]} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64,118],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":336,"date_string":"19/06/26 Friday"} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[226,225],"types":["conditioning","strength"]} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[226,225]} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[225,226],"types":["Strength","Conditioning"],"formats":["straight-sets"]} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":225,"relation":"straights","format_row_id":99,"workout_libraries_id":118,"attached_test_id":107,"attached_test_weight":155.0,"attached_unit_type":"kg","row_data":{"id":99,"workout_manager_id":225,"workout_libraries_id":118,"training_load":80,"unit_type":"%","reps":5,"created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","test_weight":155.0,"test_unit_type":"kg","test_id":107,"test_created_at":"2026-06-19 06:21:58","format_row_id":99,"format_relation":"straights","format_table":"straights","workout_library":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"sets":[{"id":350,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":60,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":351,"workout_libraries_id":118,"straight_id":99,"res":0,"training_load":65,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":352,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":70,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":353,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":75,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":354,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":80,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":355,"workout_libraries_id":118,"straight_id":99,"res":5,"training_load":85,"unittype":"%","created_at":"2026-06-19T06:16:49.000000Z","updated_at":"2026-06-19T06:16:49.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":225,"relation":"straights","format_row_id":100,"workout_libraries_id":54,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":103,"workout_libraries_id":71,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts][PART B] NO MATCH: no test found for format row {"workout_manager_id":226,"relation":"straights","format_row_id":104,"workout_libraries_id":146,"available_test_library_ids":[21,32,16,17,35,42,116,64,118]} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":4,"rows_with_lib_id":4,"rows_matched":1,"rows_not_matched":3,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":4,"matched":1,"not_matched":3,"empty":0},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":12,"completed":0,"status":0} 
[2026-06-19 06:24:26] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Conditioning","total":12,"completed":0,"status":0} 
[2026-06-19 06:24:26] local.INFO: Day received (raw): {"day":"19/06/26 Friday"} 
[2026-06-19 06:24:26] local.INFO: Day received (sanitized): {"day":"19/06/26 Friday"} 
[2026-06-19 06:24:26] local.INFO: Tests retrieved {"count":9,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":107,"workout_manager_id":227,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":2,"date":"19/06/26 Friday","weight":155.0,"unit_type":"kg","created_at":"2026-06-19T06:21:58.000000Z","updated_at":"2026-06-19T06:21:58.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-21 23:12:39] local.INFO: Day received: {"day":"22/06/26 Monday"} 
[2026-06-21 23:12:39] local.INFO: Tab value: all  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row strength  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row warmup  
[2026-06-21 23:12:40] local.INFO: Saved type row strength  
[2026-06-21 23:12:40] local.INFO: Saved type row accessory  
[2026-06-21 23:12:40] local.INFO: Saved type row warmup  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row warmup  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row accessory  
[2026-06-21 23:12:40] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:40] local.INFO: Saved type row warmup  
[2026-06-21 23:12:40] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row strength  
[2026-06-21 23:12:40] local.INFO: Saved type row accessory  
[2026-06-21 23:12:40] local.INFO: Saved type row strength  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row strength  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row warmup  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row warmup  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row strength  
[2026-06-21 23:12:40] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:40] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:40] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:40] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row accessory  
[2026-06-21 23:12:40] local.INFO: Saved type row accessory  
[2026-06-21 23:12:40] local.INFO: Saved type row accessory  
[2026-06-21 23:12:40] local.INFO: Saved type row warmup  
[2026-06-21 23:12:40] local.INFO: Saved type row warmup  
[2026-06-21 23:12:40] local.INFO: Saved type row warmup  
[2026-06-21 23:12:40] local.INFO: Saved type row warmup  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row strength  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:40] local.INFO: Saved type row warmup  
[2026-06-21 23:12:40] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:40] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:40] local.INFO: Saved type row warmup  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row strength  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row warmup  
[2026-06-21 23:12:41] local.INFO: Saved type row strength  
[2026-06-21 23:12:41] local.INFO: Saved type row accessory  
[2026-06-21 23:12:41] local.INFO: Saved type row warmup  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row warmup  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row accessory  
[2026-06-21 23:12:41] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:41] local.INFO: Saved type row warmup  
[2026-06-21 23:12:41] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row strength  
[2026-06-21 23:12:41] local.INFO: Saved type row accessory  
[2026-06-21 23:12:41] local.INFO: Saved type row strength  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row strength  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row warmup  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row warmup  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row strength  
[2026-06-21 23:12:41] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:41] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:41] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:41] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row accessory  
[2026-06-21 23:12:41] local.INFO: Saved type row accessory  
[2026-06-21 23:12:41] local.INFO: Saved type row accessory  
[2026-06-21 23:12:41] local.INFO: Saved type row warmup  
[2026-06-21 23:12:41] local.INFO: Saved type row warmup  
[2026-06-21 23:12:41] local.INFO: Saved type row warmup  
[2026-06-21 23:12:41] local.INFO: Saved type row warmup  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row strength  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row conditioning  
[2026-06-21 23:12:41] local.INFO: Saved type row warmup  
[2026-06-21 23:12:41] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:41] local.INFO: Saved type row weightlifting  
[2026-06-21 23:12:41] local.INFO: Saved type row warmup  
[2026-06-21 23:14:45] local.INFO: Tab value: all  
[2026-06-21 23:14:46] local.INFO: Day received: {"day":"22/06/26 Monday"} 
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row accessory  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row accessory  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row accessory  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row accessory  
[2026-06-21 23:14:46] local.INFO: Saved type row accessory  
[2026-06-21 23:14:46] local.INFO: Saved type row accessory  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row accessory  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row accessory  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row accessory  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row accessory  
[2026-06-21 23:14:46] local.INFO: Saved type row accessory  
[2026-06-21 23:14:46] local.INFO: Saved type row accessory  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row strength  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:46] local.INFO: Saved type row warmup  
[2026-06-21 23:14:54] local.INFO: assignWorkoutToClass:  {"workout_id":228,"class_id":337,"type":"workout_manager","action":"assign","date":"22/06/26 Monday"} 
[2026-06-21 23:14:54] local.INFO: Saved type row warmup  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row strength  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row warmup  
[2026-06-21 23:14:54] local.INFO: Saved type row strength  
[2026-06-21 23:14:54] local.INFO: Saved type row accessory  
[2026-06-21 23:14:54] local.INFO: Saved type row warmup  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row warmup  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row accessory  
[2026-06-21 23:14:54] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:54] local.INFO: Saved type row warmup  
[2026-06-21 23:14:54] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row strength  
[2026-06-21 23:14:54] local.INFO: Saved type row accessory  
[2026-06-21 23:14:54] local.INFO: Saved type row strength  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row strength  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:54] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row warmup  
[2026-06-21 23:14:55] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row warmup  
[2026-06-21 23:14:55] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row strength  
[2026-06-21 23:14:55] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:55] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:55] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:55] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:55] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row accessory  
[2026-06-21 23:14:55] local.INFO: Saved type row accessory  
[2026-06-21 23:14:55] local.INFO: Saved type row accessory  
[2026-06-21 23:14:55] local.INFO: Saved type row warmup  
[2026-06-21 23:14:55] local.INFO: Saved type row warmup  
[2026-06-21 23:14:55] local.INFO: Saved type row warmup  
[2026-06-21 23:14:55] local.INFO: Saved type row warmup  
[2026-06-21 23:14:55] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row strength  
[2026-06-21 23:14:55] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row conditioning  
[2026-06-21 23:14:55] local.INFO: Saved type row warmup  
[2026-06-21 23:14:55] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:55] local.INFO: Saved type row weightlifting  
[2026-06-21 23:14:55] local.INFO: Saved type row warmup  
[2026-06-21 23:14:55] local.INFO: Day received: {"day":"22/06/26 Monday"} 
[2026-06-21 23:16:12] local.INFO: Tab value: all  
[2026-06-21 23:16:12] local.INFO: Day received: {"day":"22/06/26 Monday"} 
[2026-06-21 23:16:12] local.INFO: Saved type row strength  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row strength  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:12] local.INFO: Saved type row strength  
[2026-06-21 23:16:12] local.INFO: Saved type row accessory  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row accessory  
[2026-06-21 23:16:12] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:12] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row strength  
[2026-06-21 23:16:12] local.INFO: Saved type row accessory  
[2026-06-21 23:16:12] local.INFO: Saved type row strength  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row strength  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row strength  
[2026-06-21 23:16:12] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:12] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:12] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:12] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row accessory  
[2026-06-21 23:16:12] local.INFO: Saved type row accessory  
[2026-06-21 23:16:12] local.INFO: Saved type row accessory  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row strength  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:12] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:12] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:12] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row strength  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row strength  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row strength  
[2026-06-21 23:16:13] local.INFO: Saved type row accessory  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row accessory  
[2026-06-21 23:16:13] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row strength  
[2026-06-21 23:16:13] local.INFO: Saved type row accessory  
[2026-06-21 23:16:13] local.INFO: Saved type row strength  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row strength  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row strength  
[2026-06-21 23:16:13] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:13] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:13] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:13] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row accessory  
[2026-06-21 23:16:13] local.INFO: Saved type row accessory  
[2026-06-21 23:16:13] local.INFO: Saved type row accessory  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row strength  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row conditioning  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:13] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:13] local.INFO: Saved type row weightlifting  
[2026-06-21 23:16:13] local.INFO: Saved type row warmup  
[2026-06-21 23:16:34] local.INFO: Day received: {"day":"22/06/26 Monday"} 
[2026-06-21 23:17:22] local.INFO: Tab value: all  
[2026-06-21 23:17:23] local.INFO: Day received: {"day":"22/06/26 Monday"} 
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row accessory  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row accessory  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row accessory  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row accessory  
[2026-06-21 23:17:23] local.INFO: Saved type row accessory  
[2026-06-21 23:17:23] local.INFO: Saved type row accessory  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row accessory  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row accessory  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row accessory  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row accessory  
[2026-06-21 23:17:23] local.INFO: Saved type row accessory  
[2026-06-21 23:17:23] local.INFO: Saved type row accessory  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row strength  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:23] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: assignWorkoutToClass:  {"workout_id":229,"class_id":337,"type":"workout_manager","action":"assign","date":"22/06/26 Monday"} 
[2026-06-21 23:17:28] local.INFO: Day received: {"day":"22/06/26 Monday"} 
[2026-06-21 23:17:28] local.INFO: Saved type row strength  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row strength  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: Saved type row strength  
[2026-06-21 23:17:28] local.INFO: Saved type row accessory  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row accessory  
[2026-06-21 23:17:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row strength  
[2026-06-21 23:17:28] local.INFO: Saved type row accessory  
[2026-06-21 23:17:28] local.INFO: Saved type row strength  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row strength  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row strength  
[2026-06-21 23:17:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row accessory  
[2026-06-21 23:17:28] local.INFO: Saved type row accessory  
[2026-06-21 23:17:28] local.INFO: Saved type row accessory  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row strength  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:17:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:17:28] local.INFO: Saved type row warmup  
[2026-06-21 23:18:20] local.INFO: mobile login pin : 1234  
[2026-06-21 23:18:29] local.INFO: mobile login pin : 3333  
[2026-06-21 23:18:46] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":337,"date_string":"22/06/26 Monday"} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/06/26 Monday","date_obj":"2026-06-22"} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":337,"date_string":"22/06/26 Monday","patterns":["22/06/26 Monday","22/06/26","22/06/2026","22/06/26 Monday","22/06/2026 Monday","Monday 22/06/26","Monday 22/06/2026"]} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":337,"date_string":"22/06/26 Monday"} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":21,"library_ids":[21,32,16,17,35,42,116,64,118],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106,107]} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64,118],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":337,"date_string":"22/06/26 Monday"} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[229,228],"types":["strength","warmup"]} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[229,228]} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[228,229],"types":["Warmup","Strength"],"formats":["straight-sets"]} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64,118]} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":229,"relation":"straights","format_row_id":105,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":105,"workout_manager_id":229,"workout_libraries_id":17,"training_load":70,"unit_type":"%","reps":4,"created_at":"2026-06-21T23:17:19.000000Z","updated_at":"2026-06-21T23:17:19.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":105,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":386,"workout_libraries_id":17,"straight_id":105,"res":4,"training_load":70,"unittype":"%","created_at":"2026-06-21T23:17:19.000000Z","updated_at":"2026-06-21T23:17:19.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":387,"workout_libraries_id":17,"straight_id":105,"res":4,"training_load":75,"unittype":"%","created_at":"2026-06-21T23:17:19.000000Z","updated_at":"2026-06-21T23:17:19.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":388,"workout_libraries_id":17,"straight_id":105,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-21T23:17:19.000000Z","updated_at":"2026-06-21T23:17:19.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":389,"workout_libraries_id":17,"straight_id":105,"res":4,"training_load":85,"unittype":"%","created_at":"2026-06-21T23:17:19.000000Z","updated_at":"2026-06-21T23:17:19.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":0,"completed":0,"status":0} 
[2026-06-21 23:18:46] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-21 23:18:46] local.INFO: Day received (raw): {"day":"22/06/26 Monday"} 
[2026-06-21 23:18:46] local.INFO: Day received (sanitized): {"day":"22/06/26 Monday"} 
[2026-06-21 23:18:46] local.INFO: Tests retrieved {"count":9,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":107,"workout_manager_id":227,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":2,"date":"19/06/26 Friday","weight":155.0,"unit_type":"kg","created_at":"2026-06-19T06:21:58.000000Z","updated_at":"2026-06-19T06:21:58.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts] Request received {"user_id":2,"member_id":2,"class_id":337,"date_string":"22/06/26 Monday"} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts] Date parsed successfully {"date_string":"22/06/26 Monday","date_obj":"2026-06-22"} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts] START {"user_id":2,"member_id":2,"class_id":337,"date_string":"22/06/26 Monday","patterns":["22/06/26 Monday","22/06/26","22/06/2026","22/06/26 Monday","22/06/2026 Monday","Monday 22/06/26","Monday 22/06/2026"]} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts][PART A] Fetching testsForDay... {"member_id":2,"class_id":337,"date_string":"22/06/26 Monday"} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts][PART A] allHistoricalTests retrieved {"count":21,"library_ids":[21,32,16,17,35,42,116,64,118],"test_ids":[53,55,56,57,58,59,60,66,68,69,71,82,85,86,91,92,93,98,105,106,107]} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts][PART A] testMap built (latest per workout_libraries_id) {"testMap_keys":[21,32,16,17,35,42,116,64,118],"testMap_sample":{"21":{"test_id":69,"weight":50.0,"unit_type":"kg","date":"24/03/26 Tuesday","test_created_at":"2026-03-24 07:58:10"},"32":{"test_id":86,"weight":60.0,"unit_type":"kg","date":"08/06/26 Monday","test_created_at":"2026-06-08 11:35:33"},"16":{"test_id":91,"weight":165.0,"unit_type":"kg","date":"15/06/26 Monday","test_created_at":"2026-06-15 01:51:50"},"17":{"test_id":106,"weight":210.0,"unit_type":"kg","date":"19/06/26 Friday","test_created_at":"2026-06-18 20:27:00"},"35":{"test_id":60,"weight":20.0,"unit_type":"kg","date":"23/02/26 Monday","test_created_at":"2026-02-23 04:05:31"}}} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts] Fetching workoutAssignments... {"class_id":337,"date_string":"22/06/26 Monday"} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts] workoutAssignments retrieved {"count":2,"workout_ids":[229,228],"types":["strength","warmup"]} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts] Fetching WorkoutManager... {"workout_ids":[229,228]} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts] WorkoutManager retrieved {"count":2,"ids":[228,229],"types":["Warmup","Strength"],"formats":["straight-sets"]} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts][PART B] Attaching test data to workout format items... {"format_relations":["rounds","amraps","forTimes","for_times","intervals","emoms","straights","circuits","pyramids"],"testMap_keys":[21,32,16,17,35,42,116,64,118]} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts][PART B] MATCH: attached test to format row {"workout_manager_id":229,"relation":"straights","format_row_id":105,"workout_libraries_id":17,"attached_test_id":106,"attached_test_weight":210.0,"attached_unit_type":"kg","row_data":{"id":105,"workout_manager_id":229,"workout_libraries_id":17,"training_load":70,"unit_type":"%","reps":4,"created_at":"2026-06-21T23:17:19.000000Z","updated_at":"2026-06-21T23:17:19.000000Z","test_weight":210.0,"test_unit_type":"kg","test_id":106,"test_created_at":"2026-06-18 20:27:00","format_row_id":105,"format_relation":"straights","format_table":"straights","workout_library":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"sets":[{"id":386,"workout_libraries_id":17,"straight_id":105,"res":4,"training_load":70,"unittype":"%","created_at":"2026-06-21T23:17:19.000000Z","updated_at":"2026-06-21T23:17:19.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":387,"workout_libraries_id":17,"straight_id":105,"res":4,"training_load":75,"unittype":"%","created_at":"2026-06-21T23:17:19.000000Z","updated_at":"2026-06-21T23:17:19.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":388,"workout_libraries_id":17,"straight_id":105,"res":4,"training_load":80,"unittype":"%","created_at":"2026-06-21T23:17:19.000000Z","updated_at":"2026-06-21T23:17:19.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"},{"id":389,"workout_libraries_id":17,"straight_id":105,"res":4,"training_load":85,"unittype":"%","created_at":"2026-06-21T23:17:19.000000Z","updated_at":"2026-06-21T23:17:19.000000Z","restred":"00:02:00","restyellow":"00:01:00","restgreen":"00:01:00"}]}} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts][PART B] Attach summary {"total_rows_seen":1,"rows_with_lib_id":1,"rows_matched":1,"rows_not_matched":0,"missing_lib_id":0,"per_relation":{"rounds":{"seen":0,"matched":0,"not_matched":0,"empty":2},"amraps":{"seen":0,"matched":0,"not_matched":0,"empty":2},"forTimes":{"seen":0,"matched":0,"not_matched":0,"empty":2},"for_times":{"seen":0,"matched":0,"not_matched":0,"empty":2},"intervals":{"seen":0,"matched":0,"not_matched":0,"empty":2},"emoms":{"seen":0,"matched":0,"not_matched":0,"empty":2},"straights":{"seen":1,"matched":1,"not_matched":0,"empty":1},"circuits":{"seen":0,"matched":0,"not_matched":0,"empty":2},"pyramids":{"seen":0,"matched":0,"not_matched":0,"empty":2}}} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Warmup","total":0,"completed":0,"status":0} 
[2026-06-21 23:19:00] local.INFO: [getWorkouts][Completion Debug] Summary {"type":"Strength","total":4,"completed":0,"status":0} 
[2026-06-21 23:19:00] local.INFO: Day received (raw): {"day":"22/06/26 Monday"} 
[2026-06-21 23:19:00] local.INFO: Day received (sanitized): {"day":"22/06/26 Monday"} 
[2026-06-21 23:19:00] local.INFO: Tests retrieved {"count":9,"tests":[{"id":60,"workout_manager_id":17,"category_id":1,"workout_libraries_id":35,"workout_id":35,"member_id":2,"date":"23/02/26 Monday","weight":20.0,"unit_type":"kg","created_at":"2026-02-23T04:05:31.000000Z","updated_at":"2026-02-23T04:05:31.000000Z","workoutname":"Horizontal pull - Ring row","is_assigned":0,"workout":{"id":35,"category_options_id":1,"type":"strength","workout":"Ring row","link":"https://www.youtube.com/","created_at":"2024-11-28T01:57:05.000000Z","updated_at":"2024-11-28T01:57:05.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":69,"workout_manager_id":57,"category_id":8,"workout_libraries_id":21,"workout_id":21,"member_id":2,"date":"24/03/26 Tuesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-24T07:58:10.000000Z","updated_at":"2026-03-24T07:58:10.000000Z","workoutname":"Cardio - Bike erg","is_assigned":0,"workout":{"id":21,"category_options_id":8,"type":"conditioning","workout":"Bike erg","link":"https://www.youtube.com/","created_at":"2024-08-01T11:13:10.000000Z","updated_at":"2024-08-01T11:13:10.000000Z","category_option":{"id":8,"category_name":"Cardio","created_at":"2024-07-22T02:02:23.000000Z","updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":71,"workout_manager_id":67,"category_id":2,"workout_libraries_id":42,"workout_id":42,"member_id":2,"date":"25/03/26 Wednesday","weight":50.0,"unit_type":"kg","created_at":"2026-03-25T10:07:42.000000Z","updated_at":"2026-03-25T10:07:42.000000Z","workoutname":"Vertical press - Strict press","is_assigned":0,"workout":{"id":42,"category_options_id":2,"type":"strength","workout":"Strict press","link":"https://www.youtube.com/","created_at":"2024-11-28T02:07:57.000000Z","updated_at":"2024-11-28T02:07:57.000000Z","category_option":{"id":2,"category_name":"Vertical press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":86,"workout_manager_id":181,"category_id":1,"workout_libraries_id":32,"workout_id":32,"member_id":2,"date":"08/06/26 Monday","weight":60.0,"unit_type":"kg","created_at":"2026-06-08T11:35:33.000000Z","updated_at":"2026-06-08T11:35:33.000000Z","workoutname":"Horizontal pull - Mid row (cable)","is_assigned":0,"workout":{"id":32,"category_options_id":1,"type":"strength","workout":"Mid row (cable)","link":"https://www.youtube.com/","created_at":"2024-11-28T01:55:23.000000Z","updated_at":"2024-11-28T01:55:23.000000Z","category_option":{"id":1,"category_name":"Horizontal pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":91,"workout_manager_id":192,"category_id":3,"workout_libraries_id":16,"workout_id":16,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T01:51:50.000000Z","updated_at":"2026-06-15T01:51:50.000000Z","workoutname":"Vertical pull - Pull up","is_assigned":0,"workout":{"id":16,"category_options_id":3,"type":"strength","workout":"Pull up","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:33.000000Z","updated_at":"2024-08-01T11:07:33.000000Z","category_option":{"id":3,"category_name":"Vertical pull","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":93,"workout_manager_id":194,"category_id":5,"workout_libraries_id":116,"workout_id":116,"member_id":2,"date":"15/06/26 Monday","weight":165.0,"unit_type":"kg","created_at":"2026-06-15T02:23:31.000000Z","updated_at":"2026-06-15T02:23:31.000000Z","workoutname":"Carry - Banded hip thrust","is_assigned":0,"workout":{"id":116,"category_options_id":5,"type":"warmup","workout":"Banded hip thrust","link":"https://www.youtube.com/","created_at":"2024-11-28T03:26:34.000000Z","updated_at":"2024-11-28T03:26:34.000000Z","category_option":{"id":5,"category_name":"Carry","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":98,"workout_manager_id":200,"category_id":4,"workout_libraries_id":64,"workout_id":64,"member_id":2,"date":"15/06/26 Monday","weight":250.0,"unit_type":"kg","created_at":"2026-06-15T11:12:02.000000Z","updated_at":"2026-06-15T11:12:02.000000Z","workoutname":"Squat - Bulgarian split squat","is_assigned":0,"workout":{"id":64,"category_options_id":4,"type":"strength","workout":"Bulgarian split squat","link":"https://www.youtube.com/","created_at":"2024-11-28T02:34:39.000000Z","updated_at":"2024-11-28T02:34:39.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":106,"workout_manager_id":221,"category_id":4,"workout_libraries_id":17,"workout_id":17,"member_id":2,"date":"19/06/26 Friday","weight":210.0,"unit_type":"kg","created_at":"2026-06-18T20:27:00.000000Z","updated_at":"2026-06-18T20:27:00.000000Z","workoutname":"Squat - Back squat","is_assigned":0,"workout":{"id":17,"category_options_id":4,"type":"strength","workout":"Back squat","link":"https://www.youtube.com/","created_at":"2024-08-01T11:07:51.000000Z","updated_at":"2024-08-01T11:07:51.000000Z","category_option":{"id":4,"category_name":"Squat","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}},{"id":107,"workout_manager_id":227,"category_id":9,"workout_libraries_id":118,"workout_id":118,"member_id":2,"date":"19/06/26 Friday","weight":155.0,"unit_type":"kg","created_at":"2026-06-19T06:21:58.000000Z","updated_at":"2026-06-19T06:21:58.000000Z","workoutname":"Horizontal Press - Bench","is_assigned":0,"workout":{"id":118,"category_options_id":9,"type":"Test","workout":"Bench","link":"https://www.youtube.com/","created_at":"2025-04-07T08:57:23.000000Z","updated_at":"2025-04-07T08:58:45.000000Z","category_option":{"id":9,"category_name":"Horizontal Press","created_at":null,"updated_at":null}},"member":{"id":2,"user_id":2,"firstname":"Test","lastname":"Client","dob":"1994-08-03","gender":"Male","age":31,"phone":"0112576462","email":"client@example.com","address":"NO22, Main Street, US","height":125,"weight":90,"bmr":"58.33","primary_goal":"Weight Loss","subscription_level":"Unlimited","image_paths":"[\"profile_images\\/176925698-white-man-isolated.jpg\"]","created_at":"2024-08-01T09:28:37.000000Z","updated_at":"2025-11-19T08:51:17.000000Z","startdate":"2025-04-07","is_subsactive":0}}]} 
[2026-06-21 23:22:50] local.INFO: Tab value: all  
[2026-06-21 23:22:50] local.INFO: Day received: {"day":"22/06/26 Monday"} 
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row accessory  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row accessory  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row accessory  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row accessory  
[2026-06-21 23:22:51] local.INFO: Saved type row accessory  
[2026-06-21 23:22:51] local.INFO: Saved type row accessory  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row accessory  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row accessory  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row accessory  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row accessory  
[2026-06-21 23:22:51] local.INFO: Saved type row accessory  
[2026-06-21 23:22:51] local.INFO: Saved type row accessory  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row strength  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row conditioning  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row weightlifting  
[2026-06-21 23:22:51] local.INFO: Saved type row warmup  
[2026-06-21 23:23:15] local.INFO: Tab value: all  
[2026-06-21 23:23:15] local.INFO: Day received: {"day":"22/06/26 Monday"} 
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row strength  
[2026-06-21 23:23:15] local.INFO: Saved type row warmup  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row strength  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row warmup  
[2026-06-21 23:23:15] local.INFO: Saved type row strength  
[2026-06-21 23:23:15] local.INFO: Saved type row accessory  
[2026-06-21 23:23:15] local.INFO: Saved type row warmup  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row warmup  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row accessory  
[2026-06-21 23:23:15] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:15] local.INFO: Saved type row warmup  
[2026-06-21 23:23:15] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row strength  
[2026-06-21 23:23:15] local.INFO: Saved type row accessory  
[2026-06-21 23:23:15] local.INFO: Saved type row strength  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row strength  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row warmup  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row warmup  
[2026-06-21 23:23:15] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:15] local.INFO: Saved type row strength  
[2026-06-21 23:23:15] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row accessory  
[2026-06-21 23:23:16] local.INFO: Saved type row accessory  
[2026-06-21 23:23:16] local.INFO: Saved type row accessory  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row strength  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row strength  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row strength  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row strength  
[2026-06-21 23:23:16] local.INFO: Saved type row accessory  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row accessory  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row strength  
[2026-06-21 23:23:16] local.INFO: Saved type row accessory  
[2026-06-21 23:23:16] local.INFO: Saved type row strength  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row strength  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row strength  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row accessory  
[2026-06-21 23:23:16] local.INFO: Saved type row accessory  
[2026-06-21 23:23:16] local.INFO: Saved type row accessory  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row strength  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row conditioning  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row weightlifting  
[2026-06-21 23:23:16] local.INFO: Saved type row warmup  
[2026-06-21 23:24:27] local.INFO: Tab value: all  
[2026-06-21 23:24:27] local.INFO: Day received: {"day":"22/06/26 Monday"} 
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row accessory  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row accessory  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row accessory  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row accessory  
[2026-06-21 23:24:28] local.INFO: Saved type row accessory  
[2026-06-21 23:24:28] local.INFO: Saved type row accessory  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row accessory  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row accessory  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row accessory  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row accessory  
[2026-06-21 23:24:28] local.INFO: Saved type row accessory  
[2026-06-21 23:24:28] local.INFO: Saved type row accessory  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row strength  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:28] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: assignWorkoutToClass:  {"workout_id":230,"class_id":337,"type":"workout_manager","action":"assign","date":"22/06/26 Monday"} 
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row strength  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row strength  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: Saved type row strength  
[2026-06-21 23:24:35] local.INFO: Saved type row accessory  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row accessory  
[2026-06-21 23:24:35] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row strength  
[2026-06-21 23:24:35] local.INFO: Saved type row accessory  
[2026-06-21 23:24:35] local.INFO: Saved type row strength  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row strength  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row strength  
[2026-06-21 23:24:35] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:35] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:35] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:35] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row accessory  
[2026-06-21 23:24:35] local.INFO: Saved type row accessory  
[2026-06-21 23:24:35] local.INFO: Saved type row accessory  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row strength  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row conditioning  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:35] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:35] local.INFO: Saved type row weightlifting  
[2026-06-21 23:24:35] local.INFO: Saved type row warmup  
[2026-06-21 23:24:36] local.INFO: Day received: {"day":"22/06/26 Monday"} 
